【Java集合—Set集合去重机制】教程文章相关的互联网学习教程文章

java8 去重属性增强【代码】

通过Stream.filter不同属性来过滤重复/*** 通过对象属性去重** @param keyExtractor* @param <T>* @return*/public static <T> Predicate<T> distinctByKey(Function<? super T, Object> keyExtractor) {Set<Object> seen = ConcurrentHashMap.newKeySet();return t -> seen.add(keyExtractor.apply(t));}根据属性去重,并且进行信息整合/*** 通过对象属性去重,并对相同Key的对象执行操作,适合两个list相同属性并集** @param key...

java 数组排序并去重【代码】

https://www.cnblogs.com/daleyzou/p/9522533.htmlimport java.lang.reflect.Array;import java.util.Arrays;import java.util.Collections;import java.util.HashSet;import java.util.TreeSet;public class SortQuchong { //对一个int数组进行排序,去重 public static void main(String[] args){ /* 思路: 1.hashset去重 2.转成treeset排序 3.转成integer数组 ...

UserView--第一种方式set去重,基于Spark算子的java代码实现【代码】【图】

UserView--第一种方式set去重,基于Spark算子的java代码实现测试数据java代码package com.hzf.spark.study;import java.util.HashSet; import java.util.Iterator; import java.util.Set;import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaPairRDD; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.api.java.function.Function; ...

Java中list<Object>集合去重实例【图】

一:Java中list去重的方法很多,下面说一下其中一种方法:把list里的对象遍历一遍,用list.contain(),如果不存在就放入到另外一个list集合中: 二:实例这里需要注意的是:使用contains方法的时候,list中里面的对象是否相等的问题,我们知道对象是否相等,有两层意思,对象的地址相等和对象的属性值相等。而contains比对的时候调用的是object类中的equals方法:我们可以看到,比对的是对象的地址。而实际中可能我们想要的结果是,对象里面...

List集合对象去重及按属性去重的8种方法-java基础总结系列第六篇【代码】【图】

最近在写一些关于java基础的文章,但是我又不想按照教科书的方式去写知识点的文章,因为意义不大。基础知识太多了,如何将这些知识归纳总结,总结出优缺点或者是使用场景才是对知识的升华。所以我更想把java相关的基础知识进行穿针引线,进行整体上的总结。总结java中创建并写文件的5种方式总结java从文件中读取数据的6种方法总结java创建文件夹的4种方法及其优缺点总结java中删除文件或文件夹的7种方法总结java中文件拷贝剪切的5种...

高效 告别996,开启java高效编程之门 3-9实战:常用中间操作演示之:去重/跳过/截断【代码】

1    重点去重,跳过,截断动态分页实战演示之 取商品的名称和总价打印:(stream流转化成list的方法)(打印两个属性) 2    实战演示之去重(distinct): @Test/*** distinct 去重* 打印Sku的目录分类*/publicvoid distinctTest(){list.stream()//注意map和distinct的使用 .map(Sku::getSkuCategory).distinct().forEach(item->System.out.println(JSONObject.toJSONString(item,true)));} 打印日志...

javascript数组去重算法-----3【代码】

1<!DOCTYPE html> 2<html lang="en"> 3<head> 4<meta charset="UTF-8"> 5<title>javascript数组去重算法-----3</title> 6</head> 7<body> 8<script> 9var arr = [1,1,2,2,3,2,2,3,3,1,1,4,4,5,6]; 10function unique(array){ 11var n = []; 12var a = {}; 13for (var i =0; i < array.length; i++) { 14if (!a[array[i]]) { 15 a[array[i]] =true; 16 n.push(array[i]) 17 }; 18 ...

java8 利用流给实体类去重方法【代码】

// 数据去重 利用原理 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(keyExtracto...

java中List对象列表去重或取出以及排序【代码】【图】

面试碰到几次list的去重和排序。下面介绍一种做法:1. list去重1.1 实体类StudentList<Student>容量10k以上,要求去重复。这里Student的重复标准是属性相同,因此需要重写equals和hashcode方法,不知道有几个可以手写出来。student的equals方法:publicvoid equals(Object o){if(this == o) retun true;if(!(o instanceof Student)) returnfalse;Student stu = (Studend)o;if(id!=stu.id) returnfalse;if(age!=stu.age) returnfals...

javascript日志-array数组去重【代码】

① array数组去重 var arr1 = [1,5,5,6,8,8,9];function unique (array) {var arr2 = [];for(var i = 0;i < arr1.length;i++){if(arr2.indexOf(arr1[i]) == -1){arr2.push(arr1[i]);}}return arr2;}console.log(unique(arr1)); //[1, 5, 6, 8, 9] ② array以原生链的方式数组去重,按从小到大排序 var arr1 = [5,5,1,8,8,6,9];Array.prototype.unique = function () {this.sort();var arr2 = [this[0]];for(var i=1;i<this.l...

javascript数组去重【代码】

1.使用空数组利用indexOf去重  - 首先定义一个空数组   - 然后循环遍历数组逐个对比新数组中是否存在该值,如果不存在则push1var arr = [1,1,1,2,2,2,3,3,3]; 2var nArr = []; 34for(let i=0; i<arr.length;i++){ 5if(nArr.indexOf(arr[i]) === -1) nArr.push(arr[i]); 6 } 2.循环嵌套去重法  - 两个循环嵌套for去判断每个值和其他值是否相同,如果相同则删除,此操作直接在原数组中删除var arr = [1,1,1,2,2,2,3,3,3]...

java 实现数组去重(集合转换)【代码】

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

java list 交集 并集 差集 去重复并集

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); ...

Java8 集合去重和排序【代码】

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...

java 8 通过某个字段去重

// 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...