zoukankan      html  css  js  c++  java
  • 集合去掉重复元素的两种方式

    ①、创建新集合方式
    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 array = new ArrayList();
      // 添加多个字符串元素(包含内容相同的)
      array.add("hello");
      array.add("world");
      array.add("java");
      array.add("world");
      array.add("java");
      array.add("world");
      array.add("world");
      array.add("world");
      array.add("world");
      array.add("java");
      array.add("world");
      // 创建新集合
      ArrayList newArray = new ArrayList();
      // 遍历旧集合,获取得到每一个元素
      Iterator it = array.iterator();
      while (it.hasNext()) {
       String s = (String) it.next();
       // 拿这个元素到新集合去找,看有没有
       if (!newArray.contains(s)) {
        newArray.add(s);
       }
      }
      // 遍历新集合
      for (int x = 0; x < newArray.size(); x++) {
       String s = (String) newArray.get(x);
       System.out.println(s);
      }
     }
    }
    ②、选择排序思想

    import java.util.ArrayList;
    import java.util.Iterator;
    /*
     * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)
     * 要求:不能创建新的集合,就在以前的集合上做。
     */
    public class ArrayListDemo2 {
     public static void main(String[] args) {
      // 创建集合对象
      ArrayList array = new ArrayList();
      // 添加多个字符串元素(包含内容相同的)
      array.add("hello");
      array.add("world");
      array.add("java");
      array.add("world");
      array.add("java");
      array.add("world");
      array.add("world");
      array.add("world");
      array.add("world");
      array.add("java");
      array.add("world");
      // 由选择排序思想引入,我们就可以通过这种思想做这个题目
      // 拿0索引的依次和后面的比较,有就把后的干掉
      // 同理,拿1索引...
      for (int x = 0; x < array.size() - 1; x++) {
       for (int y = x + 1; y < array.size(); y++) {
        if (array.get(x).equals(array.get(y))) {
         array.remove(y);
         y--;
        }
       }
      }
      // 遍历集合
      Iterator it = array.iterator();
      while (it.hasNext()) {
       String s = (String) it.next();
       System.out.println(s);
      }
     }
    }
  • 相关阅读:
    js中的call和apply方法
    前端Cookie与Session的区别
    js中的this
    Python基础语法
    Python基础安装
    Python基础字符串、列表、元组、字典
    java回调
    java内存分配与溢出
    “眉毛导航”——SiteMapPath控件的使用(ASP.NET)
    Photoshop制作雪碧图技巧
  • 原文地址:https://www.cnblogs.com/rong123/p/10163864.html
Copyright © 2011-2022 走看看