如题,去除List中的重复的字符:
有两种方式:
package com.jglz.qing;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
public class ListTest {
public static void main(String[] args) {
System.out.println(getNoRepeatList1().toString());
System.out.println(getNoRepeatList2().toString());
}
// 方法一
public static List<String> getNoRepeatList1() {
List<String> sorts = new ArrayList<String>();
sorts.add("x");
sorts.add("h");
sorts.add("b");
sorts.add("h");
List<String> temp = new ArrayList<String>();
Iterator<String> it = sorts.listIterator();
while (it.hasNext()) {
Object o = it.next();
if (!temp.contains(o)) { // 如果temp还没有这个元素,就添加
temp.add((String) o);
}
}
return temp;
}
// 方法二:利用 HashSet的特性
public static List<String> getNoRepeatList2() {
List<String> list = new ArrayList<String>();
list.add("abc");
list.add("abc");
list.add("abc");
list.add("123");
list.add("123");
list = new ArrayList<String>(new HashSet<String>(list)); // 核心代码
return list;
}
}
上面代码执行的结果如下: