1. 需求:ArrayList存储字符串去除重复元素
有2种实现方式:
思路一:选择排序思想;
思路二:造一个新集合存储;
2. 具体实现
1>:第一种实现方式 - 选择排序思想:
/**
* 思路一:选择排序思想
*/
private static void arrayListTest1() {
// 创建集合 ArrayList对象
ArrayList<String> arrayList = new ArrayList<String>() ;
// 添加元素
arrayList.add("aaa");
arrayList.add("bbb");
arrayList.add("ccc");
arrayList.add("ddd");
arrayList.add("bbb");
arrayList.add("bbb");
arrayList.add("eee");
arrayList.add("fff");
// 选择排序思路
for (int i = 0; i < arrayList.size() - 1; i++) {
for (int j = i + 1 ; j < arrayList.size() ; j++){
if (arrayList.get(j).equals(arrayList.get(i))){
arrayList.remove(j) ;
j-- ;
}
}
}
// 遍历集合
for (int i = 0; i < arrayList.size(); i++) {
String s = arrayList.get(i);
System.out.println(s);
/*输出结果:
aaa
bbb
ccc
ddd
eee
fff*/
}
}
思路二:造一个新的集合
1>:新建一个新的集合,遍历旧的集合,获取旧集合中每一个元素;
2>:判断如果新集合中不包含旧集合中的元素,就添加,然后遍历新的集合就可以;
/**
* 思路二:造一个新集合存储
*/
private static void arrayListTest2() {
// 创建集合 ArrayList对象
ArrayList<String> arrayList = new ArrayList<String>() ;
// 添加元素
arrayList.add("aaa");
arrayList.add("bbb");
arrayList.add("ccc");
arrayList.add("ddd");
arrayList.add("bbb");
arrayList.add("bbb");
arrayList.add("eee");
arrayList.add("fff");
// 创建一个新的集合,遍历旧的集合,得到每个元素,在新的集合中判断有木有,有就不添加,没有就添加。这样的话新集合中就没有重复元素
ArrayList<String> newArrayList = new ArrayList<String>() ;
// 遍历旧的集合
for (int i = 0; i < arrayList.size(); i++) {
// 得到旧的集合中每个元素
String s = arrayList.get(i);
// 如果新的集合中不包含,就添加
if (!newArrayList.contains(s)){
newArrayList.add(s) ;
}
}
// 遍历新的集合
// 迭代器方式遍历
Iterator<String> iterator = newArrayList.iterator();
// 如果有下一个元素
while (iterator.hasNext()){
// 取出下一个元素
String s = iterator.next();
System.out.println(s);
/*输出结果:
aaa
bbb
ccc
ddd
eee
fff*/
}
}