两个List,去掉重复的。remove()

public static void main(String[] args) {
		//第一种:List每remove掉一个元素以后,
		//后面的元素都会向前移动,此时如果执行i=i+1,
		//则刚刚移过来的元素没有被读取。
		String str1 = new String("abcde1");
		String str2 = new String("abcde2");
		String str3 = new String("abcde3");
		String str4 = new String("abcde4");
		String str5 = new String("abcde5");
		List list = new ArrayList();
		list.add(str1);
		list.add(str2);
		list.add(str3);
		list.add(str4);
		list.add(str5);
		System.out.println("list.size()=" + list.size());
		//每移除一个元素以后再把i移回来
		for (int i = 0; i < list.size(); i++) {
			if(((String) list.get(i)).contains("abcde1")) {
				list.remove(i);
				i--;
			}
		}
		System.out.println("after remove:list.size()=" + list.size());


	//第二种:定义一个空的Set,把两个list中的元素依次往这个set中存放,
		//Set中的元素是不重复的
	ArrayList<String> l1 = new ArrayList<String>();
	ArrayList<String> l2 = new ArrayList<String>();
	l1.add("1");
	l1.add("2");
	l1.add("3");
	l1.add("4");
	l1.add("5");
	l2.add("3");
	l2.add("4");
	l2.add("5");
	l2.add("6");
	l2.add("7");

	/*l1.add(1);
	l1.add(2);
	l1.add(3);
	l1.add(4);
	l2.add(3);
	l2.add(4);
	l2.add(5);
	l2.add(6);*/

	Set set = new HashSet();

	for (String i : l1){
		set.add(i); 
	}


	for(String i : l2){
		set.add(i); 
	}

	ArrayList<String> l3 = new ArrayList<String>(set);
	Collections.sort(l3);   //这里排序
	System.out.println(l3);

	
	//第三种:
	
	 List <String> temp=new ArrayList<String>(l1);//用来保存两者共同有的数据
	  temp.retainAll(l2);
	  l1.removeAll(temp);//l1中去掉两者共同有的数据
	  l2.removeAll(temp);//l2中去掉两者共同有的数据
	  
	  List <String> l5=new ArrayList<String>();
	  l5.addAll(l1);
	  l5.addAll(l2);
	  System.out.println(l5);
	
	 //第四种:用SET 
	  Set s = new HashSet(l1);//将1放到Set中
	  for(String i : l2){
		  //l2添加到set中不成功的时 ,说明s中已经存在该对象,直接remove掉该对象即可
		  if(!s.add(i)){
			  s.remove(i);
		  }
	  }
	  System.out.println(s);
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值