`
speed_guo
  • 浏览: 310851 次
  • 性别: Icon_minigender_1
  • 来自: 湖北
社区版块
存档分类
最新评论

两个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);
	}

 

分享到:
评论

相关推荐

    【Robotframework】列表List的常用操作.pdf

    @{list}是robot提供的语法,python并没有@{},只有${},所以要⽐较两个@{list},需要把@{list},直接写成英⽂dollar ${list}进 ⾏对⽐ ⽰例: @{list} Create List lilei hanmeimei liming liliang liming Remove ...

    python list语法学习(带例子)

    创建:list = [5,7,9]取值和改值:list[1] = list[1] * 5列表尾插入:list.append(4)去掉第0个值并返回第0个值的数值:list.pop(0)去掉第0个值但不返回数值:del(list[0])去掉具体某个值:list.remove(35)函数...

    计算机辅助设计课堂笔记.docx

    设置参数(上下限),然后find,翻转角度以求清楚观察钝角变为直角用defuture中的两个node命令(点要变为直角的两条边)删除多余的点用quick edit中的add/remove point(左键为add,右键为remove,shift加右键可框选...

    LeetCode判断字符串是否循环-Leetcode-Java-:Leetcode-Java-

    LeetCode判断字符串是否循环 ...用Set遍历nums1,根据Set的方法性质,重复数组元素会被去除,用List储存nums2中与nums1相同的元素,如果set中remove掉了对应元素,则res中addnums2数组元素,再新建数组储存对应

    将wkai的最短路径由经典改为A星算法

    起点处的实体表,作为延伸后获得的实体表中要去除的实体 pt-list (list (list (fix (* 10 (car pt1)))(fix (* 10 (cadr pt1))))) path-ss (mapcar '(lambda (x) (list x)) ss) ;;;路径表 dist-ss (mapcar '...

    java 面试题 总结

    28、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 public class ThreadTest1{ private int j; public static ...

    超级有影响力霸气的Java面试题大全文档

    抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承:  继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承...

    Visual C++ 编程资源大全(英文控件)

    02.zip Remove system menu from floating toolbar 从浮动工具条中去除系统菜单(2KB)&lt;END&gt;&lt;br&gt;3,03.zip Remove close button from floating toolbar 从浮动工具条中去掉关闭按钮(2KB)&lt;END&gt;&lt;br&gt;4,...

    Spring MVC 入门实例

    上面, 我们在 web.xml 文件中告诉 ContextLoaderListener, 我们还有另外两个配置文件 /WEB-INF/database.xml 和 /WEB-INF/applicationContext.xml. applicationContext.xml: 1 2 &lt;!DOCTYPE beans PUBLIC "-//...

    郁金香vc过驱动保护

    这两个函数被TesSafe把头几个字节HOOK了 lkd&gt; u 805878d0 805878d0+180 ;NtWriteVirtualMemory 805878d0 b89e9707a9 mov eax,0A907979Eh 805878d5 ffe0 jmp eax 805878d7 e8a7c5f5ff call nt!CIsqrt+0x2d7 (804e3e83...

    httpd-2.4.33安装(附安装包,亲测好用)

    解决的方法就在httpd这个配置文件里,找到以下两条: #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_http_module modules/mod_proxy_http.so 前面有# 号,说明被注释掉了,不起作用,把#号...

    jQuery完全实例.rar

    迭代两个图像,并设置它们的 src 属性。注意:此处 this 指代的是 DOM 对象而非 jQuery 对象。 HTML 代码: &lt;img/&gt;&lt;img/&gt; jQuery 代码: $("img").each(function(i){ this.src = "test" + i + ".jpg"; }); 结果...

Global site tag (gtag.js) - Google Analytics