集合去掉重复元素的两种方式

Posted rong123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合去掉重复元素的两种方式相关的知识,希望对你有一定的参考价值。

①、创建新集合方式
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);
  }
 }
}
















































































以上是关于集合去掉重复元素的两种方式的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中,如何去掉LIST里的重复元素

算法之去掉vetor集合中的重复元素

Python基础(3) - 去掉列表或元组中的重复元素

Python面试必考重点之列表,元组和字典第一关——如何定义集合/集合与列表有什么区别/如何去掉列表(元组)中重复的元素

用python 一行代码去掉数组中重复元素

js去掉数组中重复的元素