package com.henu;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class Demo03 {
public static void main(String[] args) {
// List<String> list = new ArrayList<String>();
// list.add("aaa");
// list.add("bbb");
// list.add("aaa");
// list.add("abc");
// list.add("xyz");
// list.add("123");
// list.add("xyz");
//第一种去重复 存进Map中,利用Map的键不能重复
/*Map<String, Integer> hMap = new HashMap<String, Integer>();
for (String string : list) {
hMap.put(string, 1);
}
Set<Entry<String, Integer>> eSet = hMap.entrySet();
for (Entry<String, Integer> entry : eSet) {
String str = entry.getKey();
System.out.print(str+"->");
}*/
//第二种去重复 双重循环,一一判断
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("aaa");
list.add("abc");
list.add("xyz");
list.add("123");
list.add("xyz");
/*
* 一个有趣的地方!!!
*/
//for循环中list.size()是个动态的
for (int i = 0; i < list.size(); i++) {
for (int j = list.size() - 1; j > i; j--) {
if (list.get(j).equals(list.get(i))) {
list.remove(j);
System.out.println(list.size());
}
}
}
for (String s : list) {
System.out.println(s);
}
//第三种去重复 创建一个新的集合,存储所遍历的元素,如果
//遍历到的元素与新集合里的元素相同则不存入
// ArrayList<String> resList = new ArrayList<>();
// Iterator<String> iterator = list.iterator();
// //使用迭代器遍历整个集合
// while(iterator.hasNext()) {//判断集合中是否存在下一个元素
// String str = iterator.next();
// if (!resList.contains(str)) {//如果结果集合中不包含此对象,则存入结果集合
// resList.add(str);
// }
// }
// System.out.println(resList);
}
}