list中的对象或者map中的版本号排序 version排序
经常会用到版本号排序,直接把他封装成一个工具用起来比较方便。
- List<A> aList = new ArrayList<>();
- 。。。aList 赋值 。。。
- Collections.sort(aList , (a1, a2) -> {
- return compareVer(a1.getversion(),a2.getversion());});
- map中
- Collections.sort(mapList , (map1, map2) -> {
- return compareVer(map1.get("version"),map2.get("version"));});
- a1在前为升序,a2在前为降序
- int compareVer(String ver1, String ver2) {
- int num1= version.indexOf("_");
- int num2= targetVersion.lastIndexOf("_");
- String firstVer= version;
- String secVer= targetVersion;
- if (num1> 0) {
- firstVer= ver1.substring(0, num1);
- }
- if (num2> 0) {
- secVer= ver2.substring(0, num2);
- }
- if (firstVer.equals(secVer)) {
- return 0;
- }
- String[] ver1Arr= firstVer.split("\\.");
- String[] ver2Arr= secVer.split("\\.");
- int ver1Len= ver1Arr.length;
- int ver2Len= ver2Arr.length;
- int len= 0;
- if (ver1Len> ver2Len) {
- len= ver2Len;
- } else {
- len= ver1Len;
- }
- for (int i = 0; i < len; i++) {
- if (ver1Arr[i].equals(ver2Arr[i])) {
- continue;
- } else {
- return Long.parseLong(ver1Arr[i]) > Long.parseLong(ver2Arr[i])?1:-1;
- }
- }
- if (ver1Len!= ver2Len) {
- return ver1Len > ver2Len?1:-1;
- } else {
- return 0;
- }
- }
list中的对象或者map中的版本号排序 version排序的更多相关文章
- JVM中,对象在内存中的布局
在hotSpot虚拟机中,对象在内存中的布局可以分成对象头.实例数据.对齐填充三部分. 对象头:主要包括: 1.对象自身的运行行元数据,比如哈希码.GC分代年龄.锁状态标志等,这部分长度在32位虚拟机 ...
- Struts2把数据封装到集合中之封装到map中
struts框架封装数据可以封装到集合中也可以封装到map中,该篇博客主要讲解将数据封装到map中. 1. 封装复杂类型的参数(集合类型 Collection .Map接口等) 2. 需求:页面中有可 ...
- 【学习笔记】Java中生成对象的5中方法
概述:本文介绍以下java五种创建对象的方式: 1.用new语句创建对象,这是最常用的创建对象的方式. 2.使用Class类的newInstance方法 3.运用反射手段,调用java.lang.re ...
- pandas中DataFrame对象to_csv()方法中的encoding参数
当使用pd.read_csv()方法读取csv格式文件的时候,常常会因为csv文件中带有中文字符而产生字符编码错误,造成读取文件错误,在这个时候,我们可以尝试将pd.read_csv()函数的enco ...
- 数组中存放对象之java中定义类数组存放类
public class ClassArrayDemo { int age; String name; ClassArrayDemo(int age, String name) { this.age ...
- 修改Map中确定key对应的value问题
今天在码代码的时候出现一个没有预料的问题: 先看下面的代码: public static void main(String[] args) { String[] files=new String[]{ ...
- ArcGIS Engine中如何获取Map中已经选择的要素呢
1.使用IEnumFeturea对象获取map中的FeatureSelection,该方法可以获取所有图层的选择要素.IMap中的FeatureSelection可不是IFeatureSelectio ...
- Map接口----Map中嵌套Map
package cn.good.com; import java.util.HashMap; import java.util.Iterator; import java.util.Map; impo ...
- Strut2 ognl取出存放在request,session,application和对象栈的中的值
1.取出request,session,applicaiton中的值 a.往里面加入request,session,application中加入值 public String testServlet( ...
随机推荐
- linux软件下载
可以到linux官网下载:http://vault.centos.org/6.10/os/Source/SPackages/
- 问题 D: 家庭问题
问题 D: 家庭问题 时间限制: 1 Sec 内存限制: 128 MB[命题人:admin] 题目描述 有n个人,编号为1,2,……n,另外还知道存在K个关系.一个关系的表达为二元组(α,β)形式, ...
- 刷题2. Add Two Numbers
一.题目要求 You are given two non-empty linked lists representing two non-negative integers. The digits a ...
- 把jar包部署为linux服务
一直未配置成功,直到放弃后reboot了下,才直到错的不是自己的配置,而是自己不懂 1.在touch /etc/rc.d/init.d/tl_c_cons_service(创建新文件) 2.vi /e ...
- Linux - gitlab的命令
启动 sudo gitlab-ctl start 关闭 sudo gitlab-ctl stop 重新加载配置文件 sudo gitlab-ctl reconfigure 在本地初始化一个本地仓库 g ...
- [2020BUAA软工助教]第1次个人作业
热身作业(阅读) 一.前言 我认为人生就是一次次地从<存在>到<光明>. 二.软件工程师的成长 博客索引 同学们在上这门课的时候基本都是大三,觉得在大学里,到教室来听课有意思么 ...
- 【音乐欣赏】《Happy Together (The Turtles Cover)》 - Unlike Pluto / Why Mona
曲名:Happy Together 作者:Unlike Pluto.Why Mona [00:11.746] Imagine me and you, I do [00:14.478] I think ...
- JDBC 基础用法学习
JDBC概述 java 数据库链接,sun公司退出的 java 访问数据库的标准规范接口 是一种用于执行SQL语句的 java API 可以作为多种关系数据库提供统一接口 是一组 java 工具类和接 ...
- SOCV/POCV 开篇 (1)
1.功能:模拟工艺偏差对芯片性能的影响 2. 40nm之前 flat derate模型可以基本覆盖大部分情况 3.AOCV (Adance OCV) 考虑distance 和depth的影响. AOC ...
- 手机CPU那些事
原文:https://zhuanlan.zhihu.com/p/19923974 如今人们买手机,都比较关心采用了什么 CPU,因为 CPU 直接决定了这台手机的性能,CPU 之于手机 就好比人的大脑 ...