import java.util.ArrayList;
import java.util.Iterator;
/*
* ArrayList 去除集合中字符串的重复值
*
* 分析:
* A:创建集合对象
* B:添加多个字符串元素(包含内容相同)
* C:创建新集合
* D:遍历旧集合,获取得到的每一个元素
* E:拿这个元素到新集合去找
* F:遍历新集合
*/
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList list=new ArrayList();
list.add("hello");
list.add("world");
list.add("java");
list.add("hello");
list.add("world");
list.add("java");
list.add("hello");
list.add("world");
list.add("java");
//创建新集合
ArrayList arry=new ArrayList();
//遍历旧集合,获取得到的每一个元素
Iterator it =list.iterator();
while(it.hasNext()){
String s=(String) it.next();
System.out.println(s);
//拿这个元素到新集合中找,看有没有
if(!arry.contains(s)){
arry.add(s);
}
}
System.out.println("--------");
//遍历新集合
for(int i=0;i<arry.size();i++){
String s1=(String )arry.get(i);
System.out.println(s1);
}
}
}
-------------------------------------------方法2:不创建新集合
package day15.List;
import java.util.ArrayList;
import java.util.Iterator;
/*
*不创建新集合来删除重复值
*/
public class ArrayListDemo2 {
public static void main(String[] args) {
ArrayList list=new ArrayList();
list.add("hello");
list.add("world");
list.add("java");
list.add("hello");
list.add("world");
list.add("java");
list.add("hello");
list.add("world");
list.add("java");
//选择排序思想
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);
j--;//防止有漏网之鱼,因为移除之后,下一个对象就会替代它的序列值
//若仍相同,则不会判断,就有漏网之鱼了
}
}
}
//遍历集合
Iterator it= list.iterator();
while(it.hasNext()){
String s=(String)it.next();
System.out.println(s);
}
}
}