List<String> list =Arrays.asList("a","b","a","c");List<String> distinctList =CollectionUtil.distinct(list);// ["a", "b", "c"]
集合过滤
//List<String> list =Arrays.asList("a", "b", "c");//Arrays.asList()返回的集合是不可变长度的,在这里这么用会报错:UnsupportedOperationExceptionList<String> list =newArrayList<>(Arrays.asList("a","b","c"));List<String> filteredList =CollectionUtil.filter(list, e -> e.equals("a"));// ["a"]
集合转换
List<String> list =Arrays.asList("1","2","3");List<Integer> mappedList =CollectionUtil.map(list,Integer::valueOf,true);// [1, 2, 3]
List<String> list =Arrays.asList("a","b","c");String joinedString =CollectionUtil.join(list,",");// "a,b,c"
元素添加
List<String> list =newArrayList<>(Arrays.asList("1","2"CollectionUtil.addAll(list,"4");CollectionUtil.addAll(list,newString[]{"5","6"});CollectionUtil.addAll(list,Arrays.asList("7","8"));CollectionUtil.addAll(list,newHashSet<>(Arrays.asList("9"System.out.println(list);//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]List<String> list =newArrayList<>(Arrays.asList("1","2","3"));CollectionUtil.addAllIfNotContains(list,Arrays.asList("1","2","4"));System.out.println(list);//[1, 2, 3, 4]List<String> list =newArrayList<>(Arrays.asList("1","2","3"));CollectionUtil.addIfAbsent(list,"2");//已存在不添加CollectionUtil.addIfAbsent(list,"4");System.out.println(list);//[1, 2, 3, 4]
元素删除
List<String> list =newArrayList<>(Arrays.asList("1","2","3","","4",null,"5"));CollectionUtil.removeEmpty(list);//CollectionUtil.removeBlank(list);System.out.println(list);//[1, 2, 3, 4,5]List<String> list =newArrayList<>(Arrays.asList("1","2","3","4","3","5","3","2"));CollectionUtil.removeAny(list,"3","2");System.out.println(list);//[1, 4,5]List<String> list =newArrayList<>(Arrays.asList("1","2","3","","4",null,"5"));CollectionUtil.removeNull(list);System.out.println(list);//[1, 2, 3, 4,5]//自定义条件List<String> list =newArrayList<>(Arrays.asList("1","2","3","","4",null,"5"));CollectionUtil.removeWithAddIf(list, item -> item ==null|| item.isEmpty());System.out.println(list);//[1, 2, 3, 4,5]
根据属性转Map
List<User> list =Arrays.asList(newUser(1,"张三",18,1),newUser(2,"李四",18,2),newUser(3,"王五",18,3),newUser(4,"张三",18,4),newUser(5,"李四",18,1));Map<String,User> result =CollectionUtil.fieldValueMap(list,"id");Map<String,User> result2 =CollectionUtil.fieldValueAsMap(list,"id","name");
获取元素
List<User> list =Arrays.asList(newUser(1,"张三",18,1),newUser(2,"李四",18,2),newUser(3,"王五",18,3),newUser(4,"张三",18,4),newUser(5,"李四",18,1));User result =CollectionUtil.get(list,6);//自带判空效果User result =CollectionUtil.getFirst(list);User result =CollectionUtil.getLast(list);List<User> result =CollectionUtil.getAny(list,0,2);List<Object> result =CollectionUtil.getFieldValues(list,"name");//[张三, 李四, 王五, 张三, 李四] User类要先实现Iterable<E>接口//截取集合List<User> result =CollectionUtil.sub(list,0,3);
获取最大/最小元素
List<User> list =Arrays.asList(newUser(1,"张三",19,1),newUser(2,"李四",18,2),newUser(3,"王五",16,3),newUser(4,"张三",24,4),newUser(5,"李四",17,1));//需要User先实现Comparable<e>接口User result =CollectionUtil.max(list);//张三User result =CollectionUtil.min(list);//王五
集合排序
List<User> list =Arrays.asList(newUser(1,"张三",19,1),newUser(2,"李四",18,2),newUser(3,"王五",16,3),newUser(4,"张三",24,4),newUser(5,"李四",17,1));//不需要User先实现Comparable<e>接口,默认从小到大排序List<User> result =CollectionUtil.sort(list,Comparator.comparing(User::getAge));
文章目录 环境文档用途详细信息 环境
系统平台:Linux x86-64 Red Hat Enterprise Linux 8,Linux x86-64 Red Hat Enterprise Linux 7,Linux x86-64 SLES 12,银河麒麟 (鲲鹏),银河麒麟 (X86_64),银河麒麟(龙…
以下概念及操作均来自influxdb2 官方文档
InfluxDB2 is the platform purpose-built to collect, store, process and visualize time series data. Time series data is a sequence of data points indexed in time order. Data points typically consist of successive meas…
车载测试的智能化时代正在加速到来!TSMaster 202504 版本正式发布,本次更新聚焦以太网通信与数据高效处理,带来三大核心功能升级—以太网报文信息过滤、XCP on Ethernet支持、按时间范围离线回放,助力工程师更精准、更灵活地完成测…