将老集合中重复的元素删除并添加到新集合中

package com.day15.collection;

import java.util.ArrayList;
import java.util.Iterator;

/*
* 去除集合中字符串的重复值(字符串的内容相同)
* 思路:创建新集合,将重复元素去掉
* 1.创建新集合
* 2.根据传入的集合(老集合)获取迭代器
* 3.遍历老集合
* 4.通过新集合判断是否包含老集合中的元素,如果包含就不添加,如果不包含就添加
*/

public class ArrayTwo {

public static void main(String[] args) {
  ArrayList list=new ArrayList();
  list.add("a");
  list.add("a");
  list.add("b");
  list.add("b");
  list.add("c");
  list.add("c");
  ArrayList newList=get(list);
    System.out.println(newList);//[a, b, c]
  }
public static ArrayList get(ArrayList list) {
  ArrayList newList=new ArrayList();//1.创建新集合
  Iterator it =list.iterator();//2.根据传入的集合(老集合)获取迭代器
  while(it.hasNext()) {//3.遍历老集合
    Object obj=it.next();//记录每一个元素
    if(!newList.contains(obj)) {//如果新集合中不包含老集合中的元素
    newList.add(obj);//将该元素添加
    }
  }
  return newList;
}

}

原文地址:https://www.cnblogs.com/zhujialei123/p/9000365.html

时间: 2024-08-05 04:14:33

将老集合中重复的元素删除并添加到新集合中的相关文章

13.删除单链表中重复的元素

13.删除单链表中重复的元素 思路: 用Hashtable辅助,遍历一遍单链表就能搞定.同高级函数9的原因,我不太会使用C++STL中的hash.而如果使用set集合来存储链表中的所有的值,实际上效率和每次重新遍历单链表是一样的.“用了c++标准库中的set来保存访问过的元素,所以很方便的就可以判断当前节点是否在set集合中,直接使用set提供的find函数就可以了.而且使用set的查找在时间复杂度上比较低.”我不太清楚STL中set集合的实现方式,如果是基于类似hash结构的话,那自然效率O(

去除ArrayList集合中重复字符串元素方式_思路:创建新集合方式

import java.util.ArrayList; import java.util.Iterator; public class jh_01_去除ArrayList集合中重复字符串元素方式 { /* * /** * * A:案例演示 * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) * 思路:创建新集合方式 */ public static void main(String[] args) { ArrayList list = new ArrayList(); li

用正则去掉数组中重复的元素

<!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script> //去掉数组中重复的元素 //此题最主要就是对数组进行排序拼接,在进行replace的替换,在进行分割,将其return到外部 //随机生成随机数压入空数组arr中 for(var i=0,arr

442. 找出数组中重复的元素 Find All Duplicates in an ArrayGiven an array of integers

Given an array of integers, 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once. Find all the elements that appear twice in this array. Could you do it without extra space and in O(n) runtime? Example: Input: [4,3,2,7,

消除一个数组中重复的元素

使用JavaScript消除一个数组中重复的元素 var arr1 = [1,1,2,3,4,5,6,6,6,7],arr2 = []; for(var i=0;i<arr1.length;i++){ if(arr2.indexof(arr1[i] < 0){ arr2.push(arr1[i]); } } document.write(arr2); //1,2,3,4,5,6,7

练习四十六:列表排序,删除list中重复的元素

方法一:使用集合set;将list直接转换为set 1 a = [1,3,4,3,5,7] 2 a = list(set(a)) 3 print(a) 执行结果: [1, 3, 4, 5, 7] 方法二:直接排序,然后逐个比较,鉴于del会直接把元素删除,设置个flag数组来编辑该删除的元素(这个思路是看人家这么写的,有点麻烦,但是也是可以实现的,设置了标志位) 1 namelist = ['Marry','Andy','Carol','Jack','Marry','Hanmeimei','An

java去除List中重复的元素

如果用Set ,倘若list里边的元素不是基本数据类型而是对象, 那么请覆写Object的boolean   equals(Object   obj)   和int   hashCode()方法. return new ArrayList(new HashSet(list)); 方法一:循环元素删除 // 删除ArrayList中重复元素 public static void removeDuplicate(List list) {    for ( int i = 0 ; i < list.s

JavaScript 找出数组中重复的元素

实现检测数组重复元素的功能,需要注意一点的是,多个(2个或2个以上)重复元素,我们只需要挑出一个来就可以了. <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>文字循环显示</title> <script type="text/javascript"> var sear=function(arr) { var

Docker安全--将用户添加到Docker组中进行启动容器与未添加到Docker组中的sudo执行的研究

/*************************************** * Author : Samson * Date : 08/25/2015 * Test platform: * gcc 4.8.2 * GNU bash, 4.3.11(1)-release (x86_64-pc-linux-gnu) * Docker version 1.7.1 * Debian GNU/Linux 7 * *************************************/ 结论: 对