[javaSE] 集合工具类(Collections-sort)
java为我们提供了一个集合的工具类,方便我们对集合进行操作,里面的方法都是静态方法。
Collections.sort()方法,参数:List<T>集合对象,这个对象带着泛型,是为了保证集合中的元素具备可比较性,因此这个返回值的泛型就会特殊点, <T extends Comparable <? super T>>
默认排序字符串,是按照字母的排列顺序
如果是中文,默认是按照ascii编码进行排序的
自定义一个比较器,实现按照字符串的长度进行排序
定义一个类StrComparator实现Comparator类
实现方法compare(),参数:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List; public class CollectionsDemo { /**
* @param args
*/
public static void main(String[] args) {
List<String> list=new ArrayList<String>();
list.add("aaa");
list.add("ccc");
list.add("bbb");
list.add("eee");
System.out.println(list);//输出 [aaa, ccc, bbb, eee]
Collections.sort(list);
System.out.println(list);//输出 [aaa, bbb, ccc, eee] List<String> list2=new ArrayList<String>();
list2.add("陶");
list2.add("士");
list2.add("涵");
System.out.println(list2);//输出 [陶, 士, 涵]
Collections.sort(list2);
System.out.println(list2);//输出 [士, 涵, 陶] List<String> list3=new ArrayList<String>();
list3.add("aaa");
list3.add("c");
list3.add("bb");
list3.add("eeee");
System.out.println(list3);//输出 [aaa, c, bb, eeee]
Collections.sort(list3,new StrComparator());
System.out.println(list3);//输出 [c, bb, aaa, eeee] } }
/**
* 自定义比较器
* @author taoshihan
*
*/
class StrComparator implements Comparator<String>{ @Override
public int compare(String o1, String o2) {
if(o1.length()>o2.length()){
return 1;
}else if(o1.length()<o2.length()){
return -1;
}
return o1.compareTo(o2);
} }
PHP版:
<?php
$list=array("aaa","ccc","bbb","eee");
sort($list);
print_r($list);//输出 Array ( [0] => aaa [1] => bbb [2] => ccc [3] => eee ) $list2=array("陶","士","涵");
sort($list2);
print_r($list2);//输出 Array ( [0] => 士 [1] => 涵 [2] => 陶 ) $list3=array("aaa","c","bb","eeee");
usort($list3,"StrComparator");
print_r($list3);//输出 Array ( [0] => c [1] => bb [2] => aaa [3] => eeee ) //自定义的比较函数
function StrComparator($a,$b){
if(strlen($a)>strlen($b)){
return 1;
}elseif(strlen($a)<strlen($b)){
return -1;
}
return 0;
}
[javaSE] 集合工具类(Collections-sort)的更多相关文章
- Java:集合工具类-Collections
Java.util.Collections 集合框架工具类Collections,其方法都是静态的,本身没有构造函数. 常见方法: static <T extends Comparable< ...
- Java常用类(五)之集合工具类Collections
前言 Java提供了一个操作Set.List和Map等集合的工具类:Collections,该工具类提供了大量方法对集合进行排序.查询和修改等操作, 还提供了将集合对象置为不可变.对集合对象实现同步控 ...
- Java从零开始学二十四(集合工具类Collections)
一.Collections简介 在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合 二 ...
- java之集合工具类Collections
Collections类简介 java.utils.Collections 是集合工具类,用来对集合进行操作.此类完全由在 collection 上进行操作或返回 collection 的静态方法组成 ...
- 吴裕雄--天生自然java开发常用类库学习笔记:集合工具类Collections
import java.util.Collections ; import java.util.List ; import java.util.Set ; public class Collectio ...
- Java笔记(二十四)……集合工具类Collections&Arrays
Collections 集合框架的工具类,方法全部为静态 Collections与Collection的区别 Collection是集合框架的一个顶层接口,里面定义了单列集合的共性方法 Collect ...
- java的集合工具类Collections
集合框架的工具类. Collections:集合框架的工具类.里面定义的都是静态方法. Collections和Collection有什么区别? Collection是集合框架中的一个顶层接口,它里面 ...
- [黑马程序员] 集合框架2——Map系 & 集合工具类(Collections、Arrays)
---------------------- ASP.Net+Android+IO开发..Net培训.期待与您交流! ---------------------- 0. 集合框架按其所实现的接口, 大 ...
- Java 集合工具类---------- Collections类
随机推荐
- Ubuntu16.04 - 怎么能够更好设置PATH变量,便于管理?
“/etc/profile”是linux里面的全局变量设置文件,加入这里的PATH变量,全局都可以使用,非常方便.加入时候很简单了,直接在PATH末尾加入":+要加入的变量"就可以 ...
- SQL语句优化 (一) (52)
优化SQL语句的一般步骤 1 通过show status命令了解各种SQL的执行频率. 格式:mysql> show [session|global]status; 其中:session(默认) ...
- “全栈2019”Java第九十六章:抽象局部内部类详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 关于CocoaPods添加第三方库造成项目崩溃
在很多时候,我们接手了别人的代码,项目中已经使用cocoapods,但是再想通过pods添加第三方库时会造成崩溃,如果你没备份项目的话那你就悲催了,幸好当初用了git了,不然又够忙乎的了. 好,回到正 ...
- mongodb 3.0下载安装、配置及mongodb最新特性、基本命令教程详细介绍
mongoDB简介(本文由www.169it.com搜集整理) MongoDB是一个高性能,开源,无模式的文档型数据库,是目前在IT行业非常流行的一种非关系型数据库(NoSql).它在许多场景下可用于 ...
- rpm小结
包括安装.卸载.升级.查询.校验.数据库维护 一. 安装: 常用方法:rpm -ivh 包名 ,其中“i”表示安装, "v"表示显示安装过程,“h"表示以#显示程 ...
- 基本项目框架搭建 sqlserver druid配置
1. 我的连接池采用的是阿里云的druid的连接池,工具是IDEA 框架是springboot+maven 以下是我的项目框架结构 2. pom 中配置 <?xml version=&quo ...
- java连接hbase时出现....is accessible from more than one module:
今天在用java程序连接hbase时,出现错误,The package org.apache.hadoop.hbase is accessible from more than one module: ...
- 使用GPIO监听中断
#include<stdlib.h> #include<stdio.h> #include<string.h> #include<unistd.h> # ...
- 使用mint-ui的 InfiniteScroll 做数据分页请求
1.首先 npm install mint-ui 2.在main.js引用 import { InfiniteScroll } from 'mint-ui'; Vue.use(InfiniteScro ...