1. // One practice
  2. package Collection;
  3.  
  4. import java.util.ArrayList;
  5. import java.util.Iterator;
  6.  
  7. // 去除 ArrayList 集合中的重复元素
  8. public class ArrayListTest
  9. {
  10. public static void sop(Object obj)
  11. {
  12. System.out.println(obj);
  13. }
  14.  
  15. public static void main(String[] args)
  16. {
  17. ArrayList<String> arrayList = new ArrayList<String>();
  18.  
  19. arrayList.add("java01");
  20. arrayList.add("java02");
  21. arrayList.add("java03");
  22. arrayList.add("java04");
  23. arrayList.add("java01");
  24. arrayList.add("java02");
  25. arrayList.add("java03");
  26.  
  27. sop(arrayList);
  28. arrayList = singleElement(arrayList);
  29. sop(arrayList);
  30.  
  31. }
  32.  
  33. public static ArrayList<String> singleElement(ArrayList<String> al)
  34. {
  35. // 定义一个临时容器
  36. ArrayList newAl = new ArrayList();
  37. Iterator iterator = al.iterator();
  38. while (iterator.hasNext())
  39. {
  40. Object obj = iterator.next();
  41. if (!newAl.contains(obj))
  42. {
  43. newAl.add(obj);
  44. }
  45. }
  46. return newAl;
  47. }
  48. }
  49.  
  50. // Practice Two
  51.  
  52. package Collection;
  53.  
  54. import java.util.ArrayList;
  55. import java.util.Iterator;
  56.  
  57. // 将自定义对象作为元素存到 ArrayList 集合中,并去除重复元素
  58. // 比如:存人对象。同姓名同年龄,视为同一个人。为重复元素
  59.  
  60. /*
  61. 1.对人描述,将数据封装进入对象
  62. 2.定义容器,将人存入
  63. 3.取出
  64.  
  65. List集合判断元素是否相同,依据是元素的 equals 方法。
  66. */
  67.  
  68. class Person
  69. {
  70. private String name;
  71. private int age;
  72. Person(String name,int age)
  73. {
  74. this.name = name;
  75. this.age = age;
  76. }
  77. // 重写 equals 方法
  78. public boolean equals(Object obj)
  79. {
  80. if (!(obj instanceof Person))
  81. {
  82. return false;
  83. }
  84. Person person = (Person)obj;
  85. return this.name.equals(person.name) && this.age == person.age;
  86. }
  87.  
  88. public String getname()
  89. {
  90. return name;
  91. }
  92. public int getage()
  93. {
  94. return age;
  95. }
  96.  
  97. }
  98.  
  99. public class ArrayListTest2
  100. {
  101. public static void sop(Object obj)
  102. {
  103. System.out.println(obj);
  104. }
  105.  
  106. public static void main(String[] args)
  107. {
  108. ArrayList al = new ArrayList();
  109. al.add(new Person("Xp01", 30));
  110. al.add(new Person("Xp02", 35));
  111. al.add(new Person("Xp02", 35));
  112. al.add(new Person("Xp03", 37));
  113. al.add(new Person("Xp04", 35));
  114. al.add(new Person("Xp04", 35));
  115.  
  116. al = singleElement(al);
  117.  
  118. Iterator it = al.iterator();
  119.  
  120. while (it.hasNext())
  121. {
  122. Person p = (Person)it.next();
  123. sop(p.getname()+"::"+p.getage());
  124. }
  125. }
  126.  
  127. public static ArrayList singleElement(ArrayList<String> al)
  128. {
  129. // 定义一个临时容器
  130. ArrayList newAl = new ArrayList();
  131. Iterator iterator = al.iterator();
  132. while (iterator.hasNext())
  133. {
  134. Object obj = iterator.next();
  135. if (!newAl.contains(obj))
  136. {
  137. newAl.add(obj);
  138. }
  139. }
  140. return newAl;
  141. }
  142. }

  

  

Java 去除 ArrayList 集合中的重复元素的更多相关文章

  1. java集合 collection-list-ArrayList 去除ArrayList集合中的重复元素。

    import java.util.*; /* 去除ArrayList集合中的重复元素. */ class ArrayListTest { public static void sop(Object o ...

  2. 集合框架-ArrayList练习(去除ArrayList集合中的重复元素)

    1 package cn.itcast.p3.arraylist.test; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; ...

  3. Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素

    1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5 ...

  4. 去除ArrayList集合中的重复自定义对象元素

    要求去除ArrayList集合中重复的Student的对象(什么叫重复,所有属性值都相同叫做重复). 思路: 1.创建一个新集合 2.遍历旧集合中的每一个元素,去新集合中找这个元素,如果这个元素不存在 ...

  5. 如何去除List集合中的重复元素?

    一.问题由来 在实际开发的时候,我们经常会碰到这么一个问题:一个集合容器里面有很多重复的对象,里面的对象没有主键,或者说忽略主键,根据业务的需求,我们需要根据条件筛选出没有重复的对象. 二.去重操作 ...

  6. Java基础知识强化之集合框架笔记28:ArrayList集合练习之去除ArrayList集合中的重复字符串元素(升级)

    1. 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)     要求:不能创建新的集合,就在以前的集合上做. 2. 代码示例之 去除集合中重复元素,不创建新的集合: package ...

  7. Java去除ArrayList集合中重复字符串的案例

    ArrayList去除集合中的字符串重复值 分析: A:创建集合对象 B:添加多个字符串元素 C:创建新集合 D:遍历旧集合,获取得到每一个元素 E:拿着个元素到新集合去找,看有没有 有:不进去 没有 ...

  8. 去掉Arraylist集合中的重复元素

    package cn.collection; import java.util.ArrayList; import java.util.Iterator; import java.util.Scann ...

  9. 如何去除List集合中的重复元素? a,b,c,a,c,b,d,,,,,,

    package com.fs.test; import java.util.ArrayList; import java.util.List; public class Listdemo { publ ...

随机推荐

  1. IOS小技巧——使用FMDB时如何把一个对像中的NSArray数组属性存到表中

    http://blog.csdn.net/github_29614995/article/details/46797917 在开发的当中,往往碰到要将数据持久化的时候用到FMDB,但是碰到模型中的属性 ...

  2. Android SQLite 加密模块实现入门

    安卓的安全性那是众所周知,最近学习安卓apk反编译,发现某些即时通讯软件都封装了自己独立使用的数据库模块(从framework java/C++ 一直到底层的SQLite的C库), 为了防止被root ...

  3. CentOS下成功修复了Windows的grub引导

    (转载) 以CentOS7和Windows为双系统,且后安装CentOS时,会出现开机没有Windows引导的问题.下图,倒数第二行可以看到Windows引导项: 修复运行终端(terminal),键 ...

  4. mysql存储过程中in、out、inout参数使用实际案例

    1.参数in的使用(代表输入,意思说你的参数要传到存过过程的过程里面去)//为了避免存储过程中分号(";")结束语句,我们使用分隔符告诉mysql解释器,该段命令是否已经结束了./ ...

  5. CSS文字大小单位PX、EM、PT

    老是被人问到px.pt和em的区别,自己有时候也会纠结到底该用什么单位,今天特意查了一些文章,下面这篇虽然很久远了,但解释的比较全面,转载收藏之.点击查看原文 这里引用的是Jorux的"95 ...

  6. C++第五天学习

    回顾: 1.友元 friend 2.运算符重载 类型 operator运算符(参数表) 抽象.封装 类是面向对象程序设计中最基本的概念 类的背后隐藏的思想是数据抽象和封装 是进行封装和数据隐藏的工具, ...

  7. 解决mysql 1864 主从错误

     从字面意思看了一下是因为slave_pending_jobs_size_max默认值为16777216(16MB),但是slave接收到的slave_pending_jobs_size_max为 ...

  8. iReport默认参数和变量的含义解析【转】

    iReport默认参数和变量的含义解析[转] http://uule.iteye.com/blog/775338 参考:http://blog.csdn.net/terryzero/article/d ...

  9. Express 3.0新手指南入门教程

    在确认已经安装了node之后(下载), 在你的机器上创建一个目录,让我们来开始你的第一个应用程序吧 $ mkdir hello-world 在这个目录中你首先得定义一下你的应用程序“包”文件,它和其它 ...

  10. 抓包分析YY音频

    YY的音频数据传输是P2P协议,音频的编码为AAC,下面抓去的音频编码的信息和频谱信息. 音频编码为AAC,采样为44K,码率24kb/s.音频编码在24kb/s码率能达到15K的音质.值得大家学习啊 ...