黑马程序员技术交流社区

标题: 用List集合去除重复数据 [打印本页]

作者: zapoo    时间: 2016-2-18 13:09
标题: 用List集合去除重复数据
  1. import java.util.ArrayList;
  2. import java.util.Iterator;

  3. public class ArrayListTest1 {

  4.         /**
  5.          * ArrayList去除集合中字符串的重复值(字符串的内容相同)
  6.          *                 思路:遍历有重复值得集合,遍历出来的值存入一个新的集合,
  7.          *                         然后用新集合去判断是否已经包含那个遍历的值,如果包含,就不存入
  8.          *                         否则存入,然后遍历新的集合
  9.          *
  10.          *                 1.创建一个有得集合,添加一些重复值
  11.          *                 2.写一个方法去掉重复值
  12.          *                         A.创建一个新的集合
  13.          *                         B.用迭代器遍历该集合
  14.          *                                 a.判断时候包含遍历的元素,如果不包含,存入
  15.          *                         C.遍历新集合
  16.          *        
  17.          */
  18.         public static void main(String[] args) {
  19.                
  20.                 //1.创建一个有得集合,添加一些重复值
  21.                 ArrayList<String> al = new ArrayList<>();
  22.                 al.add("abc");
  23.                 al.add("abc");
  24.                 al.add("def");
  25.                 al.add("123");
  26.                 al.add("abc");
  27.                 al.add("852");
  28.                 al.add("abc");
  29.                 al.add("abc");
  30.                 al.add("369");
  31.                
  32.                 System.out.println("去除重复前的集合为" + al);
  33.                 removeDouble(al);
  34.         }

  35.         //2.写一个方法去掉重复值
  36.         public static void removeDouble(ArrayList<String> al) {
  37.                
  38.                 //A.创建一个新的集合
  39.                 ArrayList<String> newAl = new ArrayList<>();
  40.                
  41.                 //B.用迭代器遍历该集合
  42.                 Iterator<String> it = al.iterator();
  43.                 while(it.hasNext()) {
  44.                         String line = (String)it.next();
  45.                        
  46.                         //a.判断时候包含遍历的元素,如果不包含,存入
  47.                         if(!(newAl.contains(line))) {
  48.                                 newAl.add(line);
  49.                         }
  50.                 }
  51.                
  52.                 //C.遍历新集合
  53.                 System.out.println("去除重复后的集合为" + newAl);
  54.         }
  55. }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2