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执行系统命令

    from os import system print(system('ping www.baidu.com'))

  2. 如何修改root密码

    默认情况下,每次登录ubuntu都会生成一个随机的root密码,如果想要修改, sudo passwd 然后输入密码,这个密码就作为root用户的密码

  3. POJ 2186 受欢迎的牛 Tarjan基础题

    #include<cstdio> #include<algorithm> #include<cstring> #include<vector> #inc ...

  4. WebStrom Sass 编译配置 windows

    第一步: 先安装Ruby下载 一路next 安装完成后打开开始菜单 打开后输入 gem install sass sass -v 出现版本号说明成功 第二部配置webstorm 在webstorm中s ...

  5. (转)myeclipse工程 junit不能运行 ClassNotFoundException

    博文转自:http://www.cnblogs.com/java-zone/articles/2730722.html myeclipse工程   junit不能运行 1 2 3 4 5 6 7 8 ...

  6. Download RPM packages from a YUM repo without installing

    This how-to will explain how to download rpm packages from a yum repository without installing them. ...

  7. Unicode字符集和多字节字符集关系

      在计算机中字符通常并不是保存为图像,每个字符都是使用一个编码来表示的,而每个字符究竟使用哪个编码代表,要取决于使用哪个字符集(charset). 在最初的时候,Internet上只有一种字符集—— ...

  8. makefile语法

    makefile很重要 什么是makefile? 或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional 的程 ...

  9. 编写Shell脚本的最佳实践,规范一

    随着写的SHELL程序越来越多,发现自己每次写都有不同的习惯或者定义了不同的东西,变量名定义得不一样,整个程序缩进不统一,没有注释等问题,等我回过头看这些程序的时候发现很麻烦.所以写了个shell代码 ...

  10. 关于backBarButtonItem的N种方法

    替换返回按钮的文字 很多app的要求所有的返回按钮的title都是“返回”,如果上一层题目文字太多,下一层的返回按钮文字就会显示不完全,而且这样可以使软件显得整洁. 方法一: 最普通的想法,A界面的n ...