集合框架(05)Collections
1.Collections.sort方法(以及自定义的比较字符串长度排序)
- package Collections;
- import java.util.*;
- class StrLenComparator implements Comparator<String>{
- public int compare(String s1, String s2) {
- if(s1.length()>s2.length()){
- return 1;
- }
- if(s1.length()<s2.length()){
- return -1;
- }
- return s1.compareTo(s2);
- }
- }
- public class CollectionsDemo1 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- List<String> list = new ArrayList();
- list.add("wsqdef");
- list.add("hue");
- list.add("as");
- list.add("ao");
- list.add("aaaii");
- sop(list);
- //Collections的sort提供了排序的方法
- //Collections.sort(list);
- //自定义的排序方式:按照字符串的长度
- Collections.sort(list,new StrLenComparator());
- sop(list);
- }
- public static void sop(Object obj){
- System.out.println(obj+",");
- }
- }
Coolections中的方法:
- sort()排序
- reverse()反转
- replace()替换指定元素
- fill()替换全部元素
- binaeySearch()查找角标
- max()查找最大值
- shuffle()随机排列
- swap()固定位置交换元素顺序
方法代码示例:
- package Collections;
- import java.util.*;
- class StrLenComparator implements Comparator<String>{
- public int compare(String s1, String s2) {
- if(s1.length()>s2.length()){
- return 1;
- }
- if(s1.length()<s2.length()){
- return -1;
- }
- return s1.compareTo(s2);
- }
- }
- public class CollectionsDemo1 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- reverseDemo();
- }
- public static void reverseDemo(){
- List<String> list = new ArrayList();
- list.add("wsqdef");
- list.add("hue");
- list.add("as");
- list.add("ao");
- list.add("aaaii");
- sop(list);
- //将list的顺序反转
- Collections.reverse(list);
- sop(list);
- }
- public static void replaceDemo(){
- List<String> list = new ArrayList();
- list.add("wsqdef");
- list.add("hue");
- list.add("as");
- list.add("ao");
- list.add("aaaii");
- sop(list);
- //将list的指定元素替换成指定的元素
- Collections.replaceAll(list, "as", "qq");
- sop(list);
- }
- public static void fillDemo(){
- List<String> list = new ArrayList();
- list.add("wsqdef");
- list.add("hue");
- list.add("as");
- list.add("ao");
- list.add("aaaii");
- sop(list);
- //将list的中的元素全部替换为pp
- Collections.fill(list, "pp");
- sop(list);
- }
- public static void binaeySearchDemo(){
- List<String> list = new ArrayList();
- list.add("wsqdef");
- list.add("hue");
- list.add("as");
- list.add("ao");
- list.add("aaaii");
- Collections.sort(list);
- sop(list);
- //查找角标
- int index = Collections.binarySearch(list, "ao");
- sop("index="+index);
- }
- public static void maxDemo(){
- List<String> list = new ArrayList();
- list.add("wsqdef");
- list.add("hue");
- list.add("as");
- list.add("ao");
- list.add("aaaii");
- Collections.sort(list);
- sop(list);
- //查找编码最大的值
- String max = Collections.max(list);
- sop("max="+max);
- }
- public static void sortDemo(){
- List<String> list = new ArrayList();
- list.add("wsqdef");
- list.add("hue");
- list.add("as");
- list.add("ao");
- list.add("aaaii");
- sop(list);
- //Collections的sort提供了排序的方法
- //Collections.sort(list);
- //自定义的排序方式:按照字符串的长度
- Collections.sort(list,new StrLenComparator());
- sop(list);
- }
- public static void sop(Object obj){
- System.out.println(obj+",");
- }
- }
集合框架(05)Collections的更多相关文章
- Java集合框架GS Collections具体解释
Java集合框架GS Collections具体解释 作者:chszs.未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs GS Collec ...
- JDK1.6新特性,基础类库篇,集合框架(Collections)
2006 年底,Sun 公司发布了 Java Standard Edition 6(Java SE 6)的最终正式版,代号 Mustang(野马). 集合框架增强如下: 1. 增加了如下新接口(Int ...
- JDK1.5新特性,基础类库篇,集合框架(Collections)
集合框架在JDK1.5中增强特性如下: 一. 新语言特性的增强 泛型(Generics)- 增加了集合框架在编译时段的元素类型检查,节省了遍历元素时类型转换代码量. For-Loop循环(Enhanc ...
- java集合框架05——ArrayList和LinkedList的区别
前面已经学习完了List部分的源码,主要是ArrayList和LinkedList两部分内容,这一节主要总结下List部分的内容. List概括 先来回顾一下List在Collection中的的框架图 ...
- 集合框架之Collections静态工具类
Collections类提供了一些列静态的方法,用以更方便地操作集合类 排序机制 一个List可以通过下面的方法进行排序: Collections.sort(list); 如果List包含的是字符串, ...
- java集合框架之Collections
参考http://how2j.cn/k/collection/collection-collections/369.html Collections是一个类,容器的工具类,就如同Arrays是数组的工 ...
- Java集合框架:Collections工具类
java.util.Collections工具类提供非常多实用的方法.使得程序员操作集合类的时候更加的方便easy,这些方法都是静态的. 整个Collections工具类源代码几乎相同有4000行.我 ...
- 《深入理解Java集合框架》系列文章
Introduction 关于C++标准模板库(Standard Template Library, STL)的书籍和资料有很多,关于Java集合框架(Java Collections Framewo ...
- 【转】Java集合框架综述
文章目录 1. 集合框架(collections framework) 2. 设计理念 3. 两大基类Collection与Map 3.1. Collection 3.2. Map 4. 集合的实现( ...
- Lambda表达式和Java集合框架
本文github地址 前言 我们先从最熟悉的Java集合框架(Java Collections Framework, JCF)开始说起. 为引入Lambda表达式,Java8新增了java.util. ...
随机推荐
- Opencv3.0.0安装包
这个资源是Opencv3.0.0安装包,包括Windows软件包,Android软件包,IOS软件包,还有opencv的源代码:需要的下载吧. 点击下载
- bayes学习笔记
贝叶斯(BAYES)判别思想是根据先验概率求出后验概率,并依据后验概率分布作出统计推断.所谓先验概率,就是用概率来描述人们事先对所研究的对象的认识的程度:所谓后验概率,就是根据具体资料.先验概率.特定 ...
- HDU 4725 The Shortest Path in Nya Graph( 建图 + 最短路 )
主要是建图,建好图之后跑一边dijkstra即可. 一共3N个点,1~N是原图中的点1~N,然后把每层x拆成两个点(N+x)[用于连指向x层的边]和(N+N+x)[用于连从x层指出的边]. 相邻层节点 ...
- .Net MVC无限循环或无限递归
错误往往是service的相互引用之类的. 好好排查
- c# json 反序列化 泛型List 2行代码
List<EncyTable> list = new List<EncyTable>(); var jsonReqeust = "[{ENCY_ID:775,ENCY ...
- input file request.files[] 为空
需要在 form 里设置 一句话 : $('form').attr("enctype", "multipart/form-data"); <form e ...
- [codeforces] 498D Traffic Jams in th Land
原题 简单的线段树问题. 对于题目中,a[i]的范围是2~6,我们仔细思考可以得出第0秒和第60秒是一样的(因为2~6的最小公倍数是60,),然后我们可以建一个线段树,里面记录0~59秒时刻开始通过这 ...
- BZOJ 2453 维护队列 | 分块
题目: http://www.lydsy.com/JudgeOnline/problem.php?id=2453 题解: 考虑维护每个位置的颜色上一次出现在哪里,计为pre[i],在询问l到r的时候, ...
- 基站选址(base.c/cpp/pas)
基站选址(base.c/cpp/pas) 题目描述 有N个村庄坐落在一条直线上,第i(i>1)个村庄距离第1个村庄的距离为Di.需要在这些村庄中建立不超过K个通讯基站,在第i个村庄建立基站的费 ...
- JAVA学习资料大全
最高端的JAVA架构师资源(来自龙果学院 价值¥1399元).JAVA互联网分布式架构(龙果学院 价值¥899元).Spring Boot(2017年最新 包括源码原理分析) + Spring Clo ...