集合框架(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. ...
随机推荐
- python基础--用python执行系统命令
from os import system print(system('ping www.baidu.com'))
- 如何修改root密码
默认情况下,每次登录ubuntu都会生成一个随机的root密码,如果想要修改, sudo passwd 然后输入密码,这个密码就作为root用户的密码
- POJ 2186 受欢迎的牛 Tarjan基础题
#include<cstdio> #include<algorithm> #include<cstring> #include<vector> #inc ...
- WebStrom Sass 编译配置 windows
第一步: 先安装Ruby下载 一路next 安装完成后打开开始菜单 打开后输入 gem install sass sass -v 出现版本号说明成功 第二部配置webstorm 在webstorm中s ...
- (转)myeclipse工程 junit不能运行 ClassNotFoundException
博文转自:http://www.cnblogs.com/java-zone/articles/2730722.html myeclipse工程 junit不能运行 1 2 3 4 5 6 7 8 ...
- 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. ...
- Unicode字符集和多字节字符集关系
在计算机中字符通常并不是保存为图像,每个字符都是使用一个编码来表示的,而每个字符究竟使用哪个编码代表,要取决于使用哪个字符集(charset). 在最初的时候,Internet上只有一种字符集—— ...
- makefile语法
makefile很重要 什么是makefile? 或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional 的程 ...
- 编写Shell脚本的最佳实践,规范一
随着写的SHELL程序越来越多,发现自己每次写都有不同的习惯或者定义了不同的东西,变量名定义得不一样,整个程序缩进不统一,没有注释等问题,等我回过头看这些程序的时候发现很麻烦.所以写了个shell代码 ...
- 关于backBarButtonItem的N种方法
替换返回按钮的文字 很多app的要求所有的返回按钮的title都是“返回”,如果上一层题目文字太多,下一层的返回按钮文字就会显示不完全,而且这样可以使软件显得整洁. 方法一: 最普通的想法,A界面的n ...