您的位置:首页 > 其它

去除集合中重复的对象

2015-08-22 16:31 253 查看
package day15.List;

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);

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: