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的更多相关文章

  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. 孤荷凌寒自学python第九天Python的输出print的格式化

    孤荷凌寒自学python第九天Python的输出print的格式化 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) (今天感觉手写笔记整得清楚些,汇总电子 笔记时,自己思路凌乱了,练习过程也还 ...

  2. C# Socket通信的服务器与客户端

    客户端代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...

  3. python鉴黄程序

    最近有客户向服务器上传了些垃圾图片,和正常图片混合在一起,大概有10W张的数量,在经历了大概3个小时翻了2000多张的时候,手指抽了下,感觉很不舒服,硬着头皮上,写个程序鉴别下吧,但是怎么搞呢,经过从 ...

  4. springboot集成shiro——使用RequiresPermissions注解无效

    在Springboot环境中继承Shiro时,使用注解@RequiresPermissions时无效 @RequestMapping("add") @RequiresPermiss ...

  5. springmvc项目搭建三-添加前端框架

    这几年前端框架发展可以说非常迅猛了...实际项目中也用到了几个,easyui相对来讲,算是我第一个接触的前端框架了,用的时候感觉很方便,省了很多代码量,一个好的前端框架可以为你省去很多精力在前端布局上 ...

  6. HTML5的JavaScript选择器介绍

    在HTML5出现之前使用JavaScript查找DOM元素,有以下三种原生的方法: getElementById:根据指定元素的id属性返回元素 getElementsByName:返回所有指定nam ...

  7. 新浪微博 page应用 自适应高度设定 终于找到解决方法

    我做的是PAGE应用,无法自适应高度.找了好久解决方法. 用js 设置父窗口 iframe 也不好用,有的浏览器不兼容. 官方上说发是这样的: 应用动态高度自适应 Iframe高度:开发者可以使Ifr ...

  8. 【bzoj3638】Cf172 k-Maximum Subsequence Sum 模拟费用流+线段树区间合并

    题目描述 给一列数,要求支持操作: 1.修改某个数的值 2.读入l,r,k,询问在[l,r]内选不相交的不超过k个子段,最大的和是多少. 输入 The first line contains inte ...

  9. 【bzoj2396】神奇的矩阵 随机化

    题目描述 给出三个行数和列数均为N的矩阵A.B.C,判断A*B=C是否成立. 输入 题目可能包含若干组数据.对于每组数据,第一行一个数N,接下来给出三个N*N的矩阵,依次为A.B.C三个矩阵. 输出 ...

  10. Dev express 笔记

    1.设置treelist不同行的颜色 void treeList1_CustomDrawNodeCell(object sender, DevExpress.XtraTreeList.CustomDr ...