1.Collections.sort方法(以及自定义的比较字符串长度排序)

  1. package Collections;
  2.  
  3. import java.util.*;
  4. class StrLenComparator implements Comparator<String>{
  5.  
  6. public int compare(String s1, String s2) {
  7. if(s1.length()>s2.length()){
  8. return 1;
  9. }
  10. if(s1.length()<s2.length()){
  11. return -1;
  12. }
  13. return s1.compareTo(s2);
  14. }
  15.  
  16. }
  17.  
  18. public class CollectionsDemo1 {
  19.  
  20. public static void main(String[] args) {
  21. // TODO Auto-generated method stub
  22. List<String> list = new ArrayList();
  23. list.add("wsqdef");
  24. list.add("hue");
  25. list.add("as");
  26. list.add("ao");
  27. list.add("aaaii");
  28. sop(list);
  29. //Collections的sort提供了排序的方法
  30. //Collections.sort(list);
  31. //自定义的排序方式:按照字符串的长度
  32. Collections.sort(list,new StrLenComparator());
  33. sop(list);
  34.  
  35. }
  36. public static void sop(Object obj){
  37. System.out.println(obj+",");
  38. }
  39.  
  40. }

Coolections中的方法:

  • sort()排序
  • reverse()反转
  • replace()替换指定元素
  • fill()替换全部元素
  • binaeySearch()查找角标
  • max()查找最大值
  • shuffle()随机排列
  • swap()固定位置交换元素顺序

方法代码示例:

  1. package Collections;
  2.  
  3. import java.util.*;
  4. class StrLenComparator implements Comparator<String>{
  5.  
  6. public int compare(String s1, String s2) {
  7. if(s1.length()>s2.length()){
  8. return 1;
  9. }
  10. if(s1.length()<s2.length()){
  11. return -1;
  12. }
  13. return s1.compareTo(s2);
  14. }
  15.  
  16. }
  17.  
  18. public class CollectionsDemo1 {
  19. public static void main(String[] args) {
  20. // TODO Auto-generated method stub
  21.  
  22. reverseDemo();
  23.  
  24. }
  25. public static void reverseDemo(){
  26. List<String> list = new ArrayList();
  27. list.add("wsqdef");
  28. list.add("hue");
  29. list.add("as");
  30. list.add("ao");
  31. list.add("aaaii");
  32. sop(list);
  33. //将list的顺序反转
  34. Collections.reverse(list);
  35. sop(list);
  36. }
  37. public static void replaceDemo(){
  38. List<String> list = new ArrayList();
  39. list.add("wsqdef");
  40. list.add("hue");
  41. list.add("as");
  42. list.add("ao");
  43. list.add("aaaii");
  44. sop(list);
  45. //将list的指定元素替换成指定的元素
  46. Collections.replaceAll(list, "as", "qq");
  47. sop(list);
  48. }
  49. public static void fillDemo(){
  50. List<String> list = new ArrayList();
  51. list.add("wsqdef");
  52. list.add("hue");
  53. list.add("as");
  54. list.add("ao");
  55. list.add("aaaii");
  56. sop(list);
  57. //将list的中的元素全部替换为pp
  58. Collections.fill(list, "pp");
  59. sop(list);
  60. }
  61. public static void binaeySearchDemo(){
  62. List<String> list = new ArrayList();
  63. list.add("wsqdef");
  64. list.add("hue");
  65. list.add("as");
  66. list.add("ao");
  67. list.add("aaaii");
  68. Collections.sort(list);
  69. sop(list);
  70. //查找角标
  71. int index = Collections.binarySearch(list, "ao");
  72. sop("index="+index);
  73. }
  74.  
  75. public static void maxDemo(){
  76. List<String> list = new ArrayList();
  77. list.add("wsqdef");
  78. list.add("hue");
  79. list.add("as");
  80. list.add("ao");
  81. list.add("aaaii");
  82. Collections.sort(list);
  83. sop(list);
  84. //查找编码最大的值
  85. String max = Collections.max(list);
  86. sop("max="+max);
  87. }
  88.  
  89. public static void sortDemo(){
  90. List<String> list = new ArrayList();
  91. list.add("wsqdef");
  92. list.add("hue");
  93. list.add("as");
  94. list.add("ao");
  95. list.add("aaaii");
  96. sop(list);
  97. //Collections的sort提供了排序的方法
  98. //Collections.sort(list);
  99. //自定义的排序方式:按照字符串的长度
  100. Collections.sort(list,new StrLenComparator());
  101. sop(list);
  102. }
  103.  
  104. public static void sop(Object obj){
  105. System.out.println(obj+",");
  106. }
  107.  
  108. }

集合框架(05)Collections的更多相关文章

  1. Java集合框架GS Collections具体解释

    Java集合框架GS Collections具体解释 作者:chszs.未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs GS Collec ...

  2. JDK1.6新特性,基础类库篇,集合框架(Collections)

    2006 年底,Sun 公司发布了 Java Standard Edition 6(Java SE 6)的最终正式版,代号 Mustang(野马). 集合框架增强如下: 1. 增加了如下新接口(Int ...

  3. JDK1.5新特性,基础类库篇,集合框架(Collections)

    集合框架在JDK1.5中增强特性如下: 一. 新语言特性的增强 泛型(Generics)- 增加了集合框架在编译时段的元素类型检查,节省了遍历元素时类型转换代码量. For-Loop循环(Enhanc ...

  4. java集合框架05——ArrayList和LinkedList的区别

    前面已经学习完了List部分的源码,主要是ArrayList和LinkedList两部分内容,这一节主要总结下List部分的内容. List概括 先来回顾一下List在Collection中的的框架图 ...

  5. 集合框架之Collections静态工具类

    Collections类提供了一些列静态的方法,用以更方便地操作集合类 排序机制 一个List可以通过下面的方法进行排序: Collections.sort(list); 如果List包含的是字符串, ...

  6. java集合框架之Collections

    参考http://how2j.cn/k/collection/collection-collections/369.html Collections是一个类,容器的工具类,就如同Arrays是数组的工 ...

  7. Java集合框架:Collections工具类

    java.util.Collections工具类提供非常多实用的方法.使得程序员操作集合类的时候更加的方便easy,这些方法都是静态的. 整个Collections工具类源代码几乎相同有4000行.我 ...

  8. 《深入理解Java集合框架》系列文章

    Introduction 关于C++标准模板库(Standard Template Library, STL)的书籍和资料有很多,关于Java集合框架(Java Collections Framewo ...

  9. 【转】Java集合框架综述

    文章目录 1. 集合框架(collections framework) 2. 设计理念 3. 两大基类Collection与Map 3.1. Collection 3.2. Map 4. 集合的实现( ...

  10. Lambda表达式和Java集合框架

    本文github地址 前言 我们先从最熟悉的Java集合框架(Java Collections Framework, JCF)开始说起. 为引入Lambda表达式,Java8新增了java.util. ...

随机推荐

  1. Opencv3.0.0安装包

    这个资源是Opencv3.0.0安装包,包括Windows软件包,Android软件包,IOS软件包,还有opencv的源代码:需要的下载吧. 点击下载

  2. bayes学习笔记

    贝叶斯(BAYES)判别思想是根据先验概率求出后验概率,并依据后验概率分布作出统计推断.所谓先验概率,就是用概率来描述人们事先对所研究的对象的认识的程度:所谓后验概率,就是根据具体资料.先验概率.特定 ...

  3. HDU 4725 The Shortest Path in Nya Graph( 建图 + 最短路 )

    主要是建图,建好图之后跑一边dijkstra即可. 一共3N个点,1~N是原图中的点1~N,然后把每层x拆成两个点(N+x)[用于连指向x层的边]和(N+N+x)[用于连从x层指出的边]. 相邻层节点 ...

  4. .Net MVC无限循环或无限递归

    错误往往是service的相互引用之类的. 好好排查

  5. c# json 反序列化 泛型List 2行代码

    List<EncyTable> list = new List<EncyTable>(); var jsonReqeust = "[{ENCY_ID:775,ENCY ...

  6. input file request.files[] 为空

    需要在 form 里设置 一句话 :  $('form').attr("enctype", "multipart/form-data"); <form e ...

  7. [codeforces] 498D Traffic Jams in th Land

    原题 简单的线段树问题. 对于题目中,a[i]的范围是2~6,我们仔细思考可以得出第0秒和第60秒是一样的(因为2~6的最小公倍数是60,),然后我们可以建一个线段树,里面记录0~59秒时刻开始通过这 ...

  8. BZOJ 2453 维护队列 | 分块

    题目: http://www.lydsy.com/JudgeOnline/problem.php?id=2453 题解: 考虑维护每个位置的颜色上一次出现在哪里,计为pre[i],在询问l到r的时候, ...

  9. 基站选址(base.c/cpp/pas)

    基站选址(base.c/cpp/pas) 题目描述  有N个村庄坐落在一条直线上,第i(i>1)个村庄距离第1个村庄的距离为Di.需要在这些村庄中建立不超过K个通讯基站,在第i个村庄建立基站的费 ...

  10. JAVA学习资料大全

    最高端的JAVA架构师资源(来自龙果学院 价值¥1399元).JAVA互联网分布式架构(龙果学院 价值¥899元).Spring Boot(2017年最新 包括源码原理分析) + Spring Clo ...