java8
小先生编程
黄色的树林里分出两条路,可惜我不能同时去涉足!
展开
-
java8 入门到精通
当执行新的任务时它可以将其拆分分成更小的任务执行,并将小任务加到线程队列中,然后在从一个随机线程队列中偷一个并把它放到自己的队列中,相对于一般的线程池实现,fork/join框架的优势体现在对其中包含的任务的处理方式上,在一般的线程池中,如果一个线程正在执行的任务由于某些原因无法继续运行,那么该线程会处于等待状态,二在fork/join框架实现中,如果某个子问题由于等待另外一个子问题完成而无法继续运行,那么处理该子问题的线程会主动寻找其他尚未运行的子问题来执行,这种方式减少了线程的等待时间,提高了性能。原创 2022-01-02 20:47:55 · 511 阅读 · 0 评论 -
java 8 分组之后如何取第一组,及最后一组数据
Map<Object,List<Map<String,Object>>> group2 = list.stream().collect(Collectors.groupingBy(e -> e.get("key2"),LinkedHashMap::new,Collectors.toList())); System.out.println(group2);// 遍历group2.forEach((key,list)->{ // key 为分组之后key原创 2021-09-08 16:37:35 · 5455 阅读 · 0 评论 -
使用java8 针对map key或value进行排序
// 注意:这里不能用HashMap存,HashMap的遍历顺序是随机的 public static TreeMap<String,Object> sortKeyMap(Map<String,Object> map){ // Collectors.toMap()默认是HashMap TreeMap<String, Object> result = map.entrySet().stream() .sorted(Comp..原创 2021-07-14 15:58:33 · 223 阅读 · 0 评论 -
java8 实体类和Map 按中文字段和数值排序
@Test public void test1() { //根据map中的某个字段值 排序 Map<String,Object> map1 = new HashMap<>(); map1.put("SUM",333.123); map1.put("NAME","张1"); Map<String,Object> map2 = new HashMap<>(); map2.put("SUM",1333.123); map2.put("N原创 2020-12-02 09:13:11 · 1112 阅读 · 0 评论 -
java8 分组 如何保证分组之后的数据和之前的数据的顺序是一致的
sql上已经对数据order by ,我们因为某种需求需要在java程序上对数据进行分组,然后对每个组进行一些业务处理,经过测试,java分组之后的顺序,与sql order by的数据的顺序是不一致的。通过查阅资料,可信的是说底层分组的时候,是把每个组默认放到了HashMap里进行了缓存,HashMap 是无序的,所以分组之后的数据也就是没有顺序,如何保证它的顺序不会乱呢,传入LinkendHashMap就能解决测试Domepackage java8分组之后的数据和之前的顺序保持一致;import原创 2020-11-21 12:42:10 · 877 阅读 · 2 评论 -
stream forEach 如何获取索引,使用局部变量
java8 中,普通的数据集合用java基础的循环就能迭代出来,遇到复杂点的数据结构,如例子中的数据,只能使用java8 内的forEach 对集合进行遍历,但是forEach 不提供循环的索引,业务中需要用到索引,用来计数,或者给数据增加序列,给每个组增加一个序列这一系列的操作。给数据增加序列只需要在forEach体内声明局部变量即可,如果给每个组需要索引,一般情况就是给方法中定义一个成员变量,然后在迭代器循环体内让它加1,或者使用for循环,直接使用index,但是使用forEach,由于不提供索引,我原创 2020-11-21 12:24:33 · 7589 阅读 · 0 评论 -
使用java8 对List<Map<String,Object>>类型以及List<实体类>进行排序
对ListMap进行排序@Test public void test1() { //根据map中的某个字段值 排序 Map<String,Object> map1 = new HashMap<>(); map1.put("SUM",333.123); map1.put("NAME","张1"); Map<String,Object> map2 = new HashMap<>(); map2.put("SUM",1333.123);原创 2020-10-20 18:08:47 · 4281 阅读 · 0 评论 -
java8新特性排序分组合计值实例
java8新特性:对map集合排序,根据key或者value操作排序(升序、降序)https://www.cnblogs.com/superdrew/p/10674244.html原创 2019-08-02 16:15:37 · 479 阅读 · 0 评论