
集合操作
Linq(C#)、Stream(Java)
旭东怪
这个作者很懒,什么都没留下…
展开
-
Java NullPointerException: element cannot be mapped to a null key问题解决
问题描述:java.lang.NullPointerException: element cannot be mapped to a null key问题分析:1、使用Collectors.groupingBy()进行分组时,分组值存在null值。List<String> strList = new ArrayList<>(Arrays.asList("11", "12", "13", null, null));Map<String, List<Str原创 2022-03-16 15:02:59 · 8410 阅读 · 0 评论 -
Java java.lang.NullPointerException问题解决
问题描述:java.lang.NullPointerException问题分析:1、使用stream().sorted()、stream().max()、stream().min()时,用于比较的字段值出现为null的情况,导致报错。2、使用BigDecimal()构造方法时,传参为null,导致报错。原创 2021-11-19 22:14:11 · 3807 阅读 · 0 评论 -
Java java.lang.ArrayIndexOutOfBoundsException: 0问题解决
问题描述:java.lang.ArrayIndexOutOfBoundsException: 0问题分析:1、数组初始化没有给数组定义大小,给数组添加元素时索引大于数组大小,导致保错。 String[] data = new String[]{}; for (int i = 0; i < 5; i++) { data[i] = i + ""; }解决办法:数组初始化时给数组指定大小,并且赋值时判断索引是否小于数组大小。原创 2021-11-16 20:44:44 · 11317 阅读 · 0 评论 -
Java IllegalStateException: Duplicate key xxx问题解决
问题描述:java.lang.IllegalStateException: Duplicate key UserEntity(username=1, password=123456)问题分析:1、使用Collectors.toMap()方法将List<UserEntity>集合转为Map<String,UserEntity>集合,List集合出现两个key值相同的情况时,会导致报错。package com.entity;import lombok...原创 2021-11-08 20:47:09 · 2792 阅读 · 0 评论 -
Java NoSuchElementException: No value present 问题解决
问题描述:java.util.NoSuchElementException: No value问题分析:1、使用jpa查询的时候,如果查询不到数据,就会返回这个错误。解决办法:先判断查询是否有数据。Optional<User> optional = userDao.findOne(user);return optional.isPresent() ? optional.get(): null;...原创 2021-01-25 16:20:03 · 19414 阅读 · 1 评论 -
Java 字符串拼接4种实现方法(for循环、stream().reduce()、Collectors.joining()、String.join())
1 for循环实现 List<String> list = new ArrayList<>(Arrays.asList("1", "2", "3", "4", "5", "6", "7", "8", "9")); String result = ""; for (String str : list) { result += str + "-"; } result = resul原创 2021-10-11 11:23:11 · 8635 阅读 · 0 评论 -
Java BigDecimal、Integer、Long、Double类型数值求最大最小值
1 BigDecimal类型数值求最大最小值1.1 for循环实现 List<BigDecimal> list = new ArrayList<>(Arrays.asList(new BigDecimal(1), new BigDecimal(2))); BigDecimal max = list.get(0); for (BigDecimal decimal : list) { if (max.comp原创 2021-10-11 11:22:43 · 1461 阅读 · 0 评论 -
Java java.lang.IndexOutOfBoundsException: Index: 0, Size: 0问题解决
问题描述:java.lang.IndexOutOfBoundsException: Index: 0, Size: 0问题分析:1、使用List的get()方法传参超过List的大小。 List<String> list = new ArrayList<>(); list.get(0);解决办法:判断List是否为null并且大小要大于get()方法传参。 List<String> list =原创 2021-08-30 13:24:30 · 64715 阅读 · 0 评论 -
Java 数组、List初始化赋值
1 数组初始化赋值//第一种初始化赋值方式String[] strs1={"1","2"};//第二种初始化赋值方式String[] strs2=new String[]{"1","2"};2 List初始化赋值//第一种初始化赋值方式(推荐)List<String> strList1=Arrays.asList(new String[]{"1","2"});//第二种初始化赋值方式List<String> strList2=new ArrayList原创 2021-04-15 19:42:02 · 12946 阅读 · 3 评论 -
Java NullPointerException: null问题3种情况(Java、Dubbo、EasyExcel)解决
问题描述:java.lang.NullPointerException: null问题分析:1、使用了equals()方法,但是使用了该方法的变量为null,导致报错。解决办法:String str=null;if(str!=null&&str.equals("0")){ return true;}return false;...原创 2021-02-08 10:23:23 · 6949 阅读 · 0 评论 -
Java Iterator转换成List3种方式(while循环、forEachRemaining()、StreamSupport.stream())
1 while循环 Iterator<String> stringIterator = new ArrayList<>(Arrays.asList("a", "b", "c")).iterator(); //使用while循环将Iterator转换成List List<String> list = new ArrayList<>(); while (stringIterator.hasNext原创 2021-09-14 14:24:44 · 5652 阅读 · 0 评论 -
Java BigDecimal、Integer、Long、Double类型数值累加求和
1BigDecimal类型数值累加1.1 for循环实现List<BigDecimal> list=new ArrayList<>();BigDecimal sum=new BigDecimal(0);for(BigDecimal decimal:list){ sum=sum.add(decimal);}1.2 stream().reduce()实现List<BigDecimal> list=new ArrayList<>(.原创 2021-02-21 09:15:52 · 10681 阅读 · 2 评论 -
Java Arrays.asList()需要注意的坑(返回对象不支持add()和remove()方法)
由于Arrays.asList()返回的类型是java.util.Arrays.ArrayList,而不是java.util.ArrayList,所以不支持add()和remove()方法。以下是java.util.Arrays.ArrayList的源码: /** * @serial include */ private static class ArrayList<E> extends AbstractList<E> im原创 2021-04-17 16:53:36 · 706 阅读 · 0 评论 -
java 数组、List、Set互相转化
1String数组转化成List//准备一个String数组String[] strs = {"aa","bb","cc"};//String数组转ListList<String> strsToList2=new ArrayList<>();2 List转化成String数组//先准备一个ListList<String> testList=new ArrayList<>();testList.add("a");testList.a.原创 2021-01-28 15:05:05 · 2560 阅读 · 0 评论 -
Java stream().sorted()实现排序(升序、降序、多字段排序)
1自然排序sorted():自然排序,流中元素需实现Comparable接口package com.entity; import lombok.*;@Data@ToString@AllArgsConstructor@NoArgsConstructorpublic class Student implements Comparable<Student> { private int id; private String name; private..原创 2021-02-13 11:40:17 · 103572 阅读 · 14 评论 -
Java stream().filter()筛选出符合条件的数据
1 单条件筛选筛选出性别为男的学生。List<Student> studentList = list.stream().filter(s->s.getGender().equals("1")).collect(Collectors.toList());2 多条件筛选筛选出性别为男并且身高为1米8以上的学生。List<Student> studentList = list.stream().filter(s->s.getGender().equals原创 2021-02-13 11:53:40 · 65373 阅读 · 3 评论 -
Java stream().map()选择元素的单个属性
1 实体类::单个属性的get方法名获取所有学生的身高。List<String> height= list.stream().map(Student::getHeight).collect(Collectors.toList());2 lambda表达式获取所有学生的身高。List<String> height= list.stream().map(x->x.getHeight()).collect(Collectors.toList());...原创 2021-02-14 14:45:57 · 3416 阅读 · 2 评论 -
Java stream().reduce实现数组合并操作(数值累加、数值累减、数值求最大最小值、字符串连接)
1 数值累加int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};//lambda表达式实现int sum = Arrays.stream(numbers).reduce(0, (current, number) -> current + number); // 55//方法引用实现int sum2 = Arrays.stream(numbers).reduce(0, Integer::sum); // 55注:更多类型的数值原创 2021-02-21 09:17:18 · 8063 阅读 · 0 评论 -
Java Stream Collectors.groupingBy()实现分组(单字段分组,多字段分组)
1 User实体类public class User { private Long userId; /** * 用户名(登录) */ private String username; /** * 年龄 */ private int age; /** * 性别 */ private int sex; /** * 密码 */ private String原创 2021-05-20 21:49:40 · 11281 阅读 · 5 评论 -
Java List初始化7种方式(构造完List后add,匿名内部类,Arrays,Collections,Stream,List.of,Lists)
1 构造完List后add()初始化 List<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("c");2原创 2021-06-15 20:31:52 · 5629 阅读 · 2 评论 -
Java Stream Collectors.groupingBy()实现统计个数(单字段计数、多字段计数)
1 User实体类public class User { private Long userId; /** * 用户名(登录) */ private String username; /** * 年龄 */ private int age; /** * 性别 */ private int sex; /** * 密码 */ private String原创 2021-07-26 10:02:05 · 7850 阅读 · 4 评论 -
Java Integer、Long、Double类型数值求平均值
1 Integer类型数值求平均值1.1常规实现List<Integer> list = new ArrayList<>();Integer sum=0;for(Integer i:list){ sum += i;}Integer avg= sum / list.size();原创 2021-07-26 20:51:28 · 4118 阅读 · 0 评论 -
C# Linq排序方法
1、OrderBy()作用:实现主要字段升序排序。示例:userList=userList.OrderBy<User>(x=>x.pickname).ToList();2、OrderByDescending()作用:实现主要字段降序排序。示例:用户列表根据昵称降序排序 。userList=userList.OrderByDescending<User>(x=>x.pickname).ToList();3、ThenBy()作用:实原创 2020-07-08 16:25:29 · 14579 阅读 · 0 评论 -
C# Linq常用方法
1、Where()作用:处理由逻辑运算符(如逻辑"与"、逻辑"或")组成的逻辑表达式,并从数据源中筛选数据。实例:List<User> userList=userService.GetAllList();userList=userList.Where(p=>p.sex==1).ToList();2、ToList()作用:将IEnumerable<T>类型的序列转换为List<T>类型的序列。...原创 2020-07-08 16:48:13 · 1961 阅读 · 0 评论 -
C# Linq方法使用不了问题解决
问题描述:使用了Linq的Where 方法但是报错问题解决:原因:因为没导入Linq程序集。解决办法:在文件头部导入Linq程序集。using System.Linq;原创 2020-07-01 14:40:34 · 979 阅读 · 0 评论