集合框架(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的输出print的格式化
孤荷凌寒自学python第九天Python的输出print的格式化 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) (今天感觉手写笔记整得清楚些,汇总电子 笔记时,自己思路凌乱了,练习过程也还 ...
- C# Socket通信的服务器与客户端
客户端代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...
- python鉴黄程序
最近有客户向服务器上传了些垃圾图片,和正常图片混合在一起,大概有10W张的数量,在经历了大概3个小时翻了2000多张的时候,手指抽了下,感觉很不舒服,硬着头皮上,写个程序鉴别下吧,但是怎么搞呢,经过从 ...
- springboot集成shiro——使用RequiresPermissions注解无效
在Springboot环境中继承Shiro时,使用注解@RequiresPermissions时无效 @RequestMapping("add") @RequiresPermiss ...
- springmvc项目搭建三-添加前端框架
这几年前端框架发展可以说非常迅猛了...实际项目中也用到了几个,easyui相对来讲,算是我第一个接触的前端框架了,用的时候感觉很方便,省了很多代码量,一个好的前端框架可以为你省去很多精力在前端布局上 ...
- HTML5的JavaScript选择器介绍
在HTML5出现之前使用JavaScript查找DOM元素,有以下三种原生的方法: getElementById:根据指定元素的id属性返回元素 getElementsByName:返回所有指定nam ...
- 新浪微博 page应用 自适应高度设定 终于找到解决方法
我做的是PAGE应用,无法自适应高度.找了好久解决方法. 用js 设置父窗口 iframe 也不好用,有的浏览器不兼容. 官方上说发是这样的: 应用动态高度自适应 Iframe高度:开发者可以使Ifr ...
- 【bzoj3638】Cf172 k-Maximum Subsequence Sum 模拟费用流+线段树区间合并
题目描述 给一列数,要求支持操作: 1.修改某个数的值 2.读入l,r,k,询问在[l,r]内选不相交的不超过k个子段,最大的和是多少. 输入 The first line contains inte ...
- 【bzoj2396】神奇的矩阵 随机化
题目描述 给出三个行数和列数均为N的矩阵A.B.C,判断A*B=C是否成立. 输入 题目可能包含若干组数据.对于每组数据,第一行一个数N,接下来给出三个N*N的矩阵,依次为A.B.C三个矩阵. 输出 ...
- Dev express 笔记
1.设置treelist不同行的颜色 void treeList1_CustomDrawNodeCell(object sender, DevExpress.XtraTreeList.CustomDr ...