List去重

参考文章:http://blog.csdn.net/jinzhencs/article/details/52460940

对于List等,去重非常简单,一句代码即可搞定。

List<String> newList = new ArrayList<>(new HashSet<>(OldList));

对于对象而言,则需要重写equals及hashCode方法。 
这样Set判定的时候则会根据你定义的来去重。

示例:

package com.test;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;

public class Test {

    public static void main(String[] args) {
        List<String> OldList = new ArrayList<String>();
        OldList.add("1");
        OldList.add("1");
        OldList.add("2");
        List<String> newList = new ArrayList<>(new HashSet<>(OldList));
        for (int i = 0; i < newList.size(); i++) {
            System.out.println(newList.get(i));
        }

    }
}

时间: 2024-09-28 21:41:05

List去重的相关文章

将MySQL去重操作优化到极致之三弹连发(一):巧用索引与变量

元旦假期收到阿里吴老师来电,被告知已将MySQL查重SQL优化到极致:100万原始数据,其中50万重复,把去重后的50万数据写入目标表只需要9秒钟.这是一个惊人的数字,要知道仅是insert 50万条记录也需要些时间的.于是来了兴趣,自己实验.思考.总结做了一遍. 一.问题提出        源表t_source结构如下:item_id int,created_time datetime,modified_time datetime,item_name varchar(20),other var

mysql count distinct 统计结果去重

mysql的sql语句中,count这个关键词能统计表中的数量,如 有一个tableA表,表中数据如下: id name age 1 tony 18 2 jacky 19 3 jojo 18 SELECT COUNT(age) FROM tableA 以上这条语句能查出table表中有多少条数据.查询结果是3 而COUNT这个关键词与 DISTINCT一同使用时,可以将统计的数据中某字段不重复的数量. 如: SELECT COUNT(DISTINCT age) from tableA 以上语句的

Erlang生成式实现的列表去重、求交集及并集

%集合去重,Acc初始传入为[],存放的是最终的结果 delSame([],Acc) -> Acc; delSame([Pre|T],Acc) ->checkSame([X||X<-T,X=/=Pre],Acc++[Pre]). %求交集 crossList(L1,L2) -> [X||X<-L1,Y<-L2,X=:=Y]. %求并集 mergeList(L1,L2)-> delSame(lists:merge(L1,L2),[]). 总结:(1)erlang的生

java不用任何已有方法完全自写的去重法

package aa; class InsertSort{ private long[] a; private int nElems; //构造方法 public InsertSort(int max){ a = new long[max]; nElems = 0; } //插入方法 public void insert(long value){ a[nElems] = value; nElems ++; } //显示方法 public void display(){ for(int j = 0

js 数组去重

1.前言 去重方法千千万万,你要哪一种 2.es系列方法 2.1.es6 Set()方法 介绍:ES6提供了新的数据结构Set.它类似于数组,但是成员的值都是唯一的,没有重复的值.Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化 new Set(test);//test为去重的数组 2.2.es7 includes Array.prototype.includes方法返回一个布尔值,表示某个数组是否包含给定的值,与字符串的includes方法类似.该方法属于 ES7 ,但 Ba

2017.7.17 列表去重,列表元组,集合

生成列表: aa = [i for i in range(1,18)] 列表    a = [11,22,3,11,22,3]增删改查 元组    b = (11,22,33,11,22,33)只读 集合    c = {11,22,33} 增删改查,但是元素不能重复 列表去重 d = set(a)  d 是集合 f = list(d)    f是列表

javaScript数组去重方法

在JAvascript平时项目开发中经常会用到数组去重的操作.这时候就要用到JS数组去重的方法了. demo1: 第一种:JS数组去重操作方法是利用遍历原数组,利用数组的indexOf()方法来来判断新数组b中是否有原数组a中的元素,如果没有的话则在b数组的后面追加上a[i],如果有的话就不执行任何操作,最后可以达到数组去重的操作. 这种方法应该是平时开发中最常用的JS数组去重的方法了,简单又实用. demo2: 第二种去重的方法比较巧妙,是定义一个空对象和一个空数组,在遍历原数组的时候来用原数

json数组去重

// json数组去重 function getJsonArr(arr) { //定义需要的空数组 var newArr = []; //定义转换字符串后的数组 var newStringArr = []; $.each(arr, function (i, v) { var sArr = JSON.stringify(v); if ($.inArray(sArr, newStringArr) == -1) { // 根据字符串数组push对象 newStringArr.push(sArr); n

高效网页去重算法-SimHash

记得以前有人问过我,网页去重算法有哪些,我不假思索的说出了余弦向量相似度匹配,但如果是数十亿级别的网页去重呢?这下糟糕了,因为每两个网页都需要计算一次向量内积,查重效率太低了!我当时就想:论查找效率肯定是要考虑hash算法,相同字符串的hashcode肯定相同,不同字符串的hashcode却是大不相同,这也不符合要求啊,会不会存在一种算法能够使相似字符串的code值也相同或相似呢,于是就找到了Google的网页去重算法-SimHash.我们在使用SimHash算法前需要根据文档量级选择SimHa

SQL 基础之去重和显示表结构(四)

当我们通过select 语句查询时候会发现很多相同的信息,这个时候我们想将重复信息去掉该怎么做? 比如下面这样有重复的,这里我们可以使用distinct来去重 假设查询部门那些部门有人在工作.也可以通过下面的语句来查询. select distinct department_id as dep_id from employees order by dep_id; 二.显示表结构 使用 DESCRIBE 命令显示表结构. DESC[RIBE] tablename 或者使用 sql develope