第一种方法
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("我");
list.add("爱");
list.add("j");
list.add("a");
list.add("v");
list.add("a");
for (int i = 0; i < list.size(); i++) {
for (int j = i + 1; j < list.size(); j++) {
if (list.get(i).equals(list.get(j))) {
list.remove(j);
}
}
}
System.out.println("list = " + list);
}
运行结果
第二种方法 转成set集合
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("我");
list.add("爱");
list.add("j");
list.add("a");
list.add("v");
list.add("a");
System.out.println("set = " + new HashSet<>(list));
}
运行结果
第三种方法 利用jdk1.8新特性 distinct方法,去除重复
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("我");
list.add("爱");
list.add("j");
list.add("a");
list.add("v");
list.add("a");
list.stream().distinct().forEach(System.out::println);
}
运行结果
第四种方法,最近新学的
List<String> list = new ArrayList<>();
list.add("我");
list.add("爱");
list.add("j");
list.add("a");
list.add("v");
list.add("a");
List<String> list1 = list.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
Comparator.comparing(String::toString))), ArrayList::new));
System.out.println(list1);