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. 【bzoj3029】守卫者的挑战 概率dp

    题目描述 给出一个数$m$和$n$次操作,第$i$操作有$p_i$的概率成功,成功后会使$m$加上$a_i$($a_i$为正整数或$-1$),求$n$次操作以后成功的操作次数不少于$l$且$m\ge ...

  2. [bzoj3514][CodeChef GERALD07] Chef ans Graph Queries [LCT+主席树]

    题面 bzoj上的强制在线版本 思路 首先可以确定,这类联通块相关的询问问题,都可以$LCT$+可持久化记录解决 用LCT维护生成树作为算法基础 具体而言,从前往后按照边的编号顺序扫一遍边 如果这条边 ...

  3. 如何禁用Eclipse的Validating

    使用Eclipse开发项目,在加载项目.刷新项目.修改了某个代码的时候,经常出现Eclipse正在Validating的提示.项目比较大文件(js)较多的情况下,甚至出现Validating几分钟的盛 ...

  4. python代理池的实现

    https://github.com/wangqifan/ProxyPool http://python.jobbole.com/86994/

  5. js判断中出现两个!!是什么意思?

    在js中看源码时有时候出现两个!!,我起初以为是js的其他语法,其实!!就是两次取“非”的运算. 下面证明我的说法. alert(null);//false alert(!null);//true a ...

  6. 平面ray trace的数据结构加速

    yy了一个数据结构.. 首先考虑到,平面ray trace对应的scene是planar graph with coordinates,特点是除端点外无相交. 我们考虑对所有端点建立kd-tree,注 ...

  7. elementui 日期选择器设置当前默认日期(picker-options),以及当前日期以后的无法选择(default-value)

    目前官方的日期默认是当前日期,打开之后长这样子:现在是三月13日,但是有的需求是当前日期在后面. 就像这样: 代码如下: default-value是设置当前日期默认值的."timeDefa ...

  8. Angular1 基础知识 浅析(含锚点)

    1.angular:前端js框架  https://angularjs.org ① SPA单页应用程序 通过ajax从后台获取数据,动态渲染页面,不出现白屏,提高效率,节省流量 (1)锚点值 锚点:是 ...

  9. Topcoder SRM548 Div 1

    1. KingdomAndTrees 给出n个数a[1..n],求一个数组b[1..n]满足b严格递增,且b[1]>=1. 定义代价为W = max{abs(a[i]-b[i])},求代价最小值 ...

  10. Jquery插件使用 焦点图插件 MyFocus ,另外记录一款插件 KinMaxShow大背景图插件。

    以前用flash做首页图片轮播.最近的网站里用到一个插件MyFocus插件焦点图插件 用法如下: <script type="text/javascript">     ...