当前位置: 首页 > news >正文

江西锐安建设工程有限公司网站室内设计培训哪个机构比较好

江西锐安建设工程有限公司网站,室内设计培训哪个机构比较好,长春建站推荐,自适应网站ui做几套文章目录前言什么是数字类型的字符串一个简单的坑demo拯救坑代码对象集合中的数字类型排序(有坑)对象集合中的数字类型排序 解决扩展将数字类型字符串数组转换为Integer集合总结前言 想到给数据进行排序,一开始头脑中想到的就是sorted(),本篇文章重点说…

文章目录

  • 前言
  • 什么是数字类型的字符串
  • 一个简单的坑demo
  • 拯救坑代码
  • 对象集合中的数字类型排序(有坑)
  • 对象集合中的数字类型排序 解决
  • 扩展
    • 将数字类型字符串数组转换为Integer集合
  • 总结

前言

想到给数据进行排序,一开始头脑中想到的就是sorted(),本篇文章重点说明:

数字类型的字符串数据排序。

其他类型数据排序参考之前的文章:Stream——集合数据按照某一字段排序

什么是数字类型的字符串

数字类型的字符串,准确说是我自己定义的一个名词,就好比下列的数据类型。

"1" "2"

一个简单的坑demo

如标题所示,就是一个!如下所示:

List<String> intStrArray = Arrays.asList("1","2","3","4","5","9","13","10","12","11");List<String> collect = Optional.ofNullable(intStrArray).orElse(new ArrayList<String>()).stream().filter(x -> x != null).sorted().collect(Collectors.toList());
collect.forEach(x-> System.out.println(x));

如案例中所示,代码看着是没问题的,但是执行后控制台中打印的结果如下所示:
在这里插入图片描述

按照第一位排序,第一位排序完成后,才开始进行第二位排序!

拯救坑代码

如何才能说按照数字的形式,从小到大依次排序呢?

功能实现,还是有方法的。

如下所示

List<String> intStrArray = Arrays.asList("1","2","3","4","5","9","13","10","12","11");IntStream intStream = intStrArray.stream().filter(x -> x != null).mapToInt(x -> Integer.parseInt(x));intStream.sorted().forEach(x-> System.out.println(x));

在这里插入图片描述

先将String类型的数组,转换成Inter的数据流,再排序输出,完美。

但是这里并没转换其他类型的数组,没找到对应的方法,后续还需要继续研究。

对象集合中的数字类型排序(有坑)

如下所示,并不是简单的String集合,采取对象封装的方式,构成对象集合,对象如下所示:

@Data
class User{private String age;public User(String age) {this.age = age;}
}

写一个简单的数据集合,如下:

List<User> users = Arrays.asList(new User("1"), new User("5"), new User("3"), new User("9"), new User("15"), new User("12"), new User("10"), new User("11"));

依旧采取上述的sorted()排序,这里是对象,所以需要指明具体的属性列,逻辑如下:

import java.util.*;
import java.util.stream.Collectors;public class Test2 {public static void main(String[] args) {List<User> users = Arrays.asList(new User("1"), new User("5"), new User("3"), new User("9"), new User("15"), new User("12"), new User("10"), new User("11"));List<User> collect = Optional.ofNullable(users).orElse(new ArrayList<User>()).stream().filter(x -> x.getAge() != null).sorted(Comparator.comparing(User::getAge)).collect(Collectors.toList());collect.forEach(x-> System.out.println(x));}
}
@Data
class User{private String age;public User(String age) {this.age = age;}
}

代码执行后,控制台打印日志信息如下所示:
在这里插入图片描述

回到了文章开头所描述的现象!!

对象集合中的数字类型排序 解决

排序依旧是使用sorted(Comparator.comparing(User::getAge)),但是在源码中存在一种新的方式,传递两种参数:
在这里插入图片描述
使用这个方法进行测试,怎么玩呢,代码继续往下看:

 List<User> users = Arrays.asList(new User("1"), new User("5"), new User("3"), new User("9"), new User("15"), new User("12"), new User("10"), new User("11"));List<User> collect = Optional.ofNullable(users).orElse(new ArrayList<User>()).stream().filter(x -> x.getAge() != null).sorted(Comparator.comparing(User::getAge,Comparator.comparingInt(Integer::parseInt))).collect(Collectors.toList());collect.forEach(x-> System.out.println(x));

执行后,控制台输出如下数据信息:
在这里插入图片描述

完美实现功能要求!!

扩展

将数字类型字符串数组转换为Integer集合

List<String> rowsLists = Arrays.asList("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20");List<Integer> collect = rowsLists.stream()
.filter(x -> x != null)
.mapToInt(Integer::parseInt)
.sorted() // 排序
.boxed() // 流中的元素 全部装箱,转换为流
.collect(Collectors.toList());collect.forEach(x-> System.out.println(x));

总结

.sorted(Comparator.comparing(User::getAge,Comparator.comparingInt(Integer::parseInt)))

http://www.tj-hxxt.cn/news/8069.html

相关文章:

  • 做网站用那个浏览器seo快速优化
  • 龙岩网站报价搜索引擎优化关键词选择的方法有哪些
  • wordpress改站点地址怎么给自己的公司做网站
  • 网站的组成如何制作付费视频网站
  • 建立网站需要哪些手续下载app到手机上并安装
  • 做网站aspseo费用价格
  • 做电商要不要公司网站朝阳seo建站
  • 企业网站美工设计推广文案范例
  • 泉州做外贸网站百度广告联盟赚广告费
  • 为什么企业需要建设网站?seo如何优化排名
  • 美团这个网站多少钱做的哪些平台可以免费打广告
  • 电子商务网站建设策划谷歌自然排名优化
  • 萧山网页设计seo方法培训
  • 可以自己做网站优化吗网络营销和推广的方法
  • 江门网站建设方案seo智能优化系统
  • 南京今天的最新消息无锡网站建设seo
  • 番禺做网站多少钱什么是搜索引擎销售
  • 萧山网站优化西安网络推广公司
  • 系统管理网站有必要买优化大师会员吗
  • 招聘类网站如何做自己怎么搭建网站
  • 网站建设优点百度总部客服电话
  • 网站项目运营在线种子资源库
  • 做水果网站弄个什么名字网络运营怎么学
  • 东南亚做棋牌网站谷歌sem和seo区别
  • 哪个网站有介绍拿到家做的手工活域名ip查询
  • 吉林省做网站公司色盲色弱测试
  • 手机网站在后台怎么做编辑seo网站推广是什么
  • 谷歌搜索引擎免费入口windows优化大师下载安装
  • 学校网站模板免费长尾词seo排名优化
  • 深圳h5开发网络营销推广seo