1、列表中的元素是Java 自有类型(基本类型、String等) List<String> old = Arrays.asList("a","b","c","a","d"); List<String> now = new ArrayList<String>(old.size()); // 时间复杂度 O(n) for ( String s : old ) { if ( now.contains(s) ) continue; now.add(s); } 2、列表中的元素是自定义类型对象时 <1> 需要重写自定义对象中的equals方法 <2> 判断方式同1