1. 程式人生 > >集合去掉重復元素的兩種方式

集合去掉重復元素的兩種方式

div [] imp next 每一個 添加多個 demo 依次 元素

①、創建新集合方式
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);
}
}
} ②、選擇排序思想
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);
}
}
}

集合去掉重復元素的兩種方式