方法一:直接用set去重,这里set有三种:
①TreeSet会对插入内容自然排序;
//TreeSet会对插入内容排序
TreeSet<String> data1 = new TreeSet<String>();
for(String s : str){
data1.add(s);
}
System.out.println();
System.out.print("TreeSet对字符串数组去重结果(会排序):");
for(String s : data1){
System.out.print(" " + s);
}
②HashSet输出顺序不能保证;
//HashSet根据元素的hashCode值来决定元素的存储位置,当遍历该集合时候,顺序不能保证
HashSet<String> data2 = new HashSet<String>();
for(String s : str){
data2.add(s);
}
System.out.println();
System.out.print("HashSet对字符串数组去重结果(顺序不可保证):");
for(String s : data2){
System.out.print(" " + s);
}
③LinkedHashSet以元素的添加顺序输出。
//LinkedHashSet根据元素的hashCode值来决定元素的存储位置,当遍历该集合时候,LinkedHashSet将会以元素的添加顺序访问集合的元素
LinkedHashSet<String> data3 = new LinkedHashSet<String>();
for(String s : str){
data3.add(s);
}
System.out.println();
System.out.print("LinkedHashSet对字符串数组去重结果(按输入顺序):");
for(String s : data3){
System.out.print(" " + s);
}
方法二:用arraylist去重,比较元素在list中是否已存在,不存在则加入list
//ArrayList去重
ArrayList<String> data4 = new ArrayList<String>();
for(String s : str){
if(!data4.contains(s))
data4.add(s);
}
System.out.print("ArrayList去重结果:");
for(String s : data4){
System.out.print(" " + s);
}
System.out.println();