public static void main(String[] args) {int[] nums = { 5, 6, 6, 6, 8, 8, 7 };List<Integer> numList = new ArrayList<Integer>();for (int i : nums)numList.add(i);Set<Integer> numSet = new HashSet<Integer>();numSet.addAll(numList);System.out.println(numSet);}
原文:http://www.cnblogs.com/silianbo/p/4628655.html
package com;import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class Test { public static void main(String[] args) { List list1 =new ArrayList(); list1.add("1111"); list1.add("2222"); list1.add("3333"); List list2 =new ArrayList(); list2.add("3333"); list2.add("4444"); list2.add("5555"); //并集 //list1.addAll(list2); //交集 //list1.retainAll(list2); ...
java 8 去重和排序 排序的方法 List<Integer> lists = Arrays.asList(1,1,2,3);// 升序lists.sort(Comparator.comparing(Integer::intValue));// 降序lists.sort(Comparator.comparing(Integer::intValue).reversed());或者// 升序 lists.stream().sorted().collect(Collectors.toList());// 降序 lists.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList()); import java.util.*;
import java.util...
// xxx 表示你需要去重的字段 列如(o -> o.id()) 返回已经去重集合List<AddEventAndProperty> nameDistinct = list.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> xxx))), ArrayList::new));// 通过多个字段去重,返回已经去重集合List<AddEventAndProperty> distinctClass = list.stream().collect(Collectors.collectingAndThen(Collectors.toCollecti...
本文实例讲述了JavaScrip数组去重操作。分享给大家供大家参考,具体如下:
内置的for-of方法
<script>
var arr=[2,1,1,3,,,e,e,true,true,true,false,false,false,undefined,undefined,undefined,null,null,null];
function uniqueUseForOf(array) {const temp = []; //一个临时数组// 传入值必须存在,且长度小于等于1的时候直接返回数组if (array && array.length <= 1) {return array;} else {//遍历当前数组for (let x of arra...
去重:2 3 通过distinct方法我们可以对指定字段进行去重,在mysql也有这个关键字4 5 DBObject query = new BasicDBObject();6 mongoTemplate.getCollection("collectionName").distinct("去重字段名",query)7 8 9 分组聚合:
10
11 利用aggregation对字段的不同值数量进行统计,例如如下:
12
13 统计字段为content,别名为value
14
15 Aggregation aggregation = Aggregation.newAggregation(Aggregation.group("Content").count(...
1.对多个字段去重复 ArrayList<SupplierDeliveryCountNum> collect = numlist.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o -> o.getDeliveryId() + ";" + o.getNum()))),ArrayList::new));
2. 对全部字段去重复List<SupplierDeliveryCountNum> distinctIdList = numlist.stream().distinct().collect(Collectors.toList());
.
java 根据对象某个属性进行去重
在开发中可能会遇到很多需要去重的情况,比如Person对象有name跟age两个属性,需要根据age进行去重
方式一
1.1 根据name去重
public class test {public static void main(String[] args) {List<Person> ps=new ArrayList<>();ps.add(new Person(11,"tom"));ps.add(new Person(11,"张三"));ps.add(new Person(12,"tom"));ps.add(new Person(11,"tom"));//根据name进行去重List<Person> list = ps.st...
第一种:
public class RomPriArr {public static void main(String[] args) {int[]arr={1,2,3,4,5};Random rd=new Random();int[]indexes=new int[arr.length];for (int i = 0; i <indexes.length ; i++) {indexes[i]=-1;}int index=rd.nextInt(5);int count=0;boolean flag;while (count<5) {flag=true;for (int i = 0; i < indexes.length; i++) {if (indexes[i]==index) {flag = false;break;}//flag=true;}if (flag){indexes[c...
// 数据去重 利用原理 map去重
List noRepeatList = bookList.stream.filter(distinctByKey(Book::getName)).collect(Collectors.toList());`
/*** 数据流去重方法* 如果多个参数,使用添加即可* @param keyExtractor* @param <T>* @return*/
public static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {Map<Object,Boolean> seen = new ConcurrentHashMap<>();return t -> seen.putIfAbsent(keyExtract...
原文作者:不知道取啥昵称
原文地址:Java Set集合去重机制关于java里面的集合,大家经常利用到Set集合没有重复数据的特性,来进行数据的去重,那么去重的原理是怎么样的呢?最近面试了几个人,其间有聊到集合的东西,所以就顺便问了一下这个问题,但是都是只知道这么用,而没有去看看底层代码的去重原理(而恰恰有可能这些基础原理会被用来设计其他一些场景实现),所以在此文章记录一下,希望能帮助到一些人。下面是Set集合的类图:...
list的转map的另一种猜想
Java8使用lambda表达式进行函数式编程可以对集合进行非常方便的操作。一个比较常见的操作是将list转换成map,一般使用Collectors的toMap()方法进行转换。一个比较常见的问题是当list中含有相同元素的时候,如果不指定取哪一个,则会抛出异常。因此,这个指定是必须的。Java面试宝典PDF完整版
当然,使用toMap()的另一个重载方法,可以直接指定。这里,我们想讨论的是另一种方法:在进行转map的操作之前,能...
list的转map的另一种猜想
Java8使用lambda表达式进行函数式编程可以对集合进行非常方便的操作。一个比较常见的操作是将list转换成map,一般使用Collectors的toMap()方法进行转换。一个比较常见的问题是当list中含有相同元素的时候,如果不指定取哪一个,则会抛出异常。因此,这个指定是必须的。Java面试宝典PDF完整版
当然,使用toMap()的另一个重载方法,可以直接指定。这里,我们想讨论的是另一种方法:在进行转map的操作之前,能...
场景:有一个实体的List集合,需要根据实体中的某个字段对List去重Collectors.collectingAndThen方法:将流中的数据通过Collector计算,计算的结果再通过Function处理一下(这里是将TreeSet转为ArrayList。即相当于将最终结果又经过了new ArrayList<>(treeSet))List<实体类> distinctClass = value.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(实体类::去重的...
java stream的distinct可以对集合进行去重,举例如下:package demo;import java.util.ArrayList;
import java.util.List;public class StreamDistinctDemo {public static void main(String[] args) {List<Integer> integerList = new ArrayList<>();integerList.add(1);integerList.add(2);integerList.add(3);integerList.add(4);integerList.add(5);integerList.add(3);integerList.add(3);integerList.forEach(e -> System.ou...