1, 创建新集合方式
- import java.util.ArrayList;
- import java.util.Iterator;
- /*
- * ArrayList 去除集合中字符串的重复值 (字符串的内容相同)
- *
- * 分析:
- * A: 创建集合对象
- * B: 添加多个字符串元素 (包含内容相同的)
- * C: 创建新集合
- * D: 遍历旧集合, 获取得到每一个元素
- * E: 拿这个元素到新集合去找, 看有没有
- * 有: 不搭理它
- * 没有: 就添加到新集合
- * F: 遍历新集合
- */
- public class ArrayListDemo {
- public static void main(String[] args) {
- // 创建集合对象
- ArrayList array = new ArrayList();
- // 添加多个字符串元素 (包含内容相同的)
- array.add("hello");
- array.add("world");
- array.add("java");
- array.add("world");
- array.add("java");
- array.add("world");
- array.add("world");
- array.add("world");
- array.add("world");
- array.add("java");
- array.add("world");
- // 创建新集合
- ArrayList newArray = new ArrayList();
- // 遍历旧集合, 获取得到每一个元素
- Iterator it = array.iterator();
- while (it.hasNext()) {
- String s = (String) it.next();
- // 拿这个元素到新集合去找, 看有没有
- if (!newArray.contains(s)) {
- newArray.add(s);
- }
- }
- // 遍历新集合
- for (int x = 0; x < newArray.size(); x++) {
- String s = (String) newArray.get(x);
- System.out.println(s);
- }
- }
- }
2, 选择排序思想
- import java.util.ArrayList;
- import java.util.Iterator;
- /*
- * 需求: ArrayList 去除集合中字符串的重复值 (字符串的内容相同)
- * 要求: 不能创建新的集合, 就在以前的集合上做.
- */
- public class ArrayListDemo2 {
- public static void main(String[] args) {
- // 创建集合对象
- ArrayList array = new ArrayList();
- // 添加多个字符串元素 (包含内容相同的)
- array.add("hello");
- array.add("world");
- array.add("java");
- array.add("world");
- array.add("java");
- array.add("world");
- array.add("world");
- array.add("world");
- array.add("world");
- array.add("java");
- array.add("world");
- // 由选择排序思想引入, 我们就可以通过这种思想做这个题目
- // 拿 0 索引的依次和后面的比较, 有就把后的干掉
- // 同理, 拿 1 索引...
- for (int x = 0; x < array.size() - 1; x++) {
- for (int y = x + 1; y < array.size(); y++) {
- if (array.get(x).equals(array.get(y))) {
- array.remove(y);
- y--;
- }
- }
- }
- // 遍历集合
- Iterator it = array.iterator();
- while (it.hasNext()) {
- String s = (String) it.next();
- System.out.println(s);
- }
- }
- }
来源: http://www.bubuko.com/infodetail-2894437.html