问题描述:
现有一ArrayList类型集合al,al中含有重复字符串,试将重复字符串去除
思路一:
依据选择排序思想,从头开始遍历al,遍历至倒数第二个元素,每个被遍历元素与其后面所有元素比较,若有重复,删除后面 重复元素
主要代码实现:
ArrayList<String> al = new ArrayList<String>();al.add("hello");al.add("world");al.add("hello");al.add("world");al.add("world");al.add("hello");al.add("world");al.add("world");al.add("world");al.add("hello");al.add("world");al.add("world");al.add("hello");al.add("world");for(int a = 0;a<al.size()-1;a++) {for(int b = a+1;b<al.size();b++) {if(al.get(a).equals(al.get(b))) {al.remove(b);b--;}}}System.out.println(al);
思路二:
新建ArrayList类型集合al2,遍历al元素,同时判断,al2中是否包含被遍历元素,如果不包含就添加
主要代码实现:
ArrayList<String> al = new ArrayList<String>();ArrayList<String> al2 = new ArrayList<String>();al.add("hello");al.add("world");al.add("hello");al.add("world");al.add("world");al.add("hello");al.add("world");al.add("world");al.add("world");al.add("hello");al.add("world");al.add("world");al.add("hello");al.add("world");for(String s:al) {if(!al2.contains(s)) {al2.add(s);}}System.out.println(al2);