1. 程式人生 > 實用技巧 >list集合去重的幾種方式

list集合去重的幾種方式

準備資料:

// 準備資料
List<String> list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add("c");
list.add("b");
list.add("a");

1. 利用HashSet去重

// 利用list中的元素建立HashSet集合,此時set中進行了去重操作
HashSet set = new HashSet(list);
// 清空list集合
list.clear();
// 將去重後的元素重新新增到list中
list.addAll(set);

2. 通過List的contains()方法去重

// 建立一個新的list集合,用於儲存去重後的元素
List listTemp = new ArrayList();
// 遍歷list集合
for (int i = 0; i < list.size(); i++) {
	// 判斷listTemp集合中是否包含list中的元素
	if (!listTemp.contains(list.get(i))) {
		// 將未包含的元素新增進listTemp集合中
		listTemp.add(list.get(i));
	}
}

3. 迴圈List進行去重

// 從list中索引為0開始往後遍歷
for (int i = 0; i < list.size() - 1; i++) {
	// 從list中索引為 list.size()-1 開始往前遍歷
	for (int j = list.size() - 1; j > i; j--) {
		// 進行比較
		if (list.get(j).equals(list.get(i))) {
			// 去重
			list.remove(j);
		}
	}
}