package cn.itcast.p2.toolclass.collections.demo;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.TreeSet;
import cn.itcast.p2.comparator.ComparatorByLength;
//!!!!如果是数值的HashMap,则会根据数值排序,如果不是,就是乱序
//!!!!如果需要存进去和取出来是一致的,就使用Hash
//@@@@!!!TreeSet是有序的,但是是根据自定方式排序的,存取去和取出来是一致的
public class CollectionsDemo {
/**
* @param args
*/
public static void main(String[] args) {
/*
* Collections:是集合框架的工具类。
* 里面的方法都是静态的。
*
*
*/
demo_4();
}
public static void demo_4() {
List<String> list = new ArrayList<String>();
list.add("abcde");
list.add("cba");
list.add("zhangsan");
list.add("zhaoliu");
list.add("xiaoqiang");
System.out.println(list);
// Collections.replaceAll(list, "cba", "nba"); // set(indexOf("cba"),"nba");
//随机存储元素的位置,一般用于随机排序,如:扑克
Collections.shuffle(list);
//替换所有的元素,一般用于初始化元素
// Collections.fill(list, "cc");
System.out.println(list);
}
public static void demo_3() {
/*
TreeSet<String> ts = new TreeSet<String>(new Comparator<String>(){
@Override
public int compare(String o1, String o2) {
int temp = o2.compareTo(o1);
return temp;
}
});
*/
//TreeSet,倒序输出,按照自定义长度排序,比较构造器
TreeSet<String> ts = new TreeSet<String>(Collections.reverseOrder(new ComparatorByLength()));
ts.add("abc");
ts.add("hahaha");
ts.add("zzz");
ts.add("aa");
ts.add("cba");
System.out.println(ts);
}
public static void demo_2(){
List<String> list = new ArrayList<String>();
list.add("abcde");
list.add("cba");
list.add("aa");
list.add("zzz");
list.add("cba");
list.add("nbaa");
//对集合进行默认排序
// Collections.sort(list);
System.out.println(list);
//二分法查找集合中某个元素的位置
// int index = Collections.binarySearch(list, "cba");
// System.out.println("index="+index);
//获取最大值。
String max = Collections.max(list,new ComparatorByLength());
System.out.println("max="+max);
}
public static void demo_1(){
List<String> list = new ArrayList<String>();
list.add("abcde");
list.add("cba");
list.add("aa");
list.add("zzz");
list.add("cba");
list.add("nbaa");
System.out.println(list);
//对list集合进行指定顺序的排序。
// Collections.sort(list);
// mySort(list);
// mySort(list,new ComparatorByLength());
Collections.sort(list,new ComparatorByLength());
System.out.println(list);
}
//自己写排序的方法,难,回忆视频
public static <T> void mySort(List<T> list,Comparator<? super T> comp){
for (int i = 0; i < list.size()-1; i++) {
for (int j = i+1; j < list.size(); j++) {
if(comp.compare(list.get(i), list.get(j))>0){
// T temp = list.get(i);
// list.set(i, list.get(j));
// list.set(j, temp);
Collections.swap(list, i, j);
}
}
}
}
//自己写排序的方法,难,回忆视频
public static <T extends Comparable<? super T>> void mySort(List<T> list){
for (int i = 0; i < list.size()-1; i++) {
for (int j = i+1; j < list.size(); j++) {
if(list.get(i).compareTo(list.get(j))>0){
// T temp = list.get(i);
// list.set(i, list.get(j));
// list.set(j, temp);
Collections.swap(list, i, j);
}
}
}
}
}
package cn.itcast.p2.comparator;
import java.util.Comparator;
public class ComparatorByLength implements Comparator<String> {
@Override
public int compare(String o1, String o2) {
int temp = o1.length() - o2.length();
return temp==0?o1.compareTo(o2): temp;
}
}
分享到:
相关推荐
赠送jar包:commons-collections-3.2.2.jar; 赠送原API文档:commons-collections-3.2.2-javadoc.jar; 赠送源代码:commons-collections-3.2.2-sources.jar; 赠送Maven依赖信息文件:commons-collections-3.2.2....
赠送jar包:commons-collections-3.2.2.jar; 赠送原API文档:commons-collections-3.2.2-javadoc.jar; 赠送源代码:commons-collections-3.2.2-sources.jar; 赠送Maven依赖信息文件:commons-collections-3.2.2....
2. **Apache Commons Collections** - `commons-collections-3.2.2.jar` 这个库扩展了Java集合框架,提供了许多额外的数据结构和算法。它包含: - 高级集合实现:如双向队列、堆栈、映射、多重集(Multiset)等。 ...
day03_List、Set、数据结构、Collections day04_Map,斗地主案例 day05_异常,线程 day06_线程、同步 day07_等待与唤醒案例、线程池、Lambda表达式 day08_File类、递归 day09_字节流、字符流 day10_缓冲流、转换流、...
org.apache.poi:poi:4.1.2 org.apache.poi:poi-ooxml:4.1.2 org.apache.poi:poi-...org.apache.commons:commons-collections4:4.4 org.apache.commons:commons-math3:3.6.1 org.apache.commons:commons-compress:1.19
Maven坐标:org.apache.commons:commons-collections4:4.1; 标签:apache、commons、collections4、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 ...
Maven坐标:org.apache.commons:commons-collections4:4.4; 标签:apache、collections4、commons、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 ...
Maven坐标:org.apache.commons:commons-collections4:4.4; 标签:apache、collections4、commons、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档...
3. **集合**:提供了一些增强型集合,如Bag(多态集合,允许元素重复)、ListUtils(集合操作工具类,如列表合并、排序等)和SetUtils(集合操作工具类,如创建不可变集等)。 4. **工厂**:提供了一些静态工厂方法...
4. **ListUtils、MapUtils和SetUtils**:这些工具类提供了许多静态方法,如合并列表、分割列表、排序列表、创建不可变集合等,极大地简化了集合操作。 5. **Predicate接口**:Predicate接口定义了一个接收一个对象...
标签:apache-collections-commons-collections-3.1.jar.zip,apache,collections,commons,collections,3.1,jar.zip包下载,依赖包
这个"commons-collections4-4.4-bin.zip"文件包含了Apache Commons Collections的4.4版本,它是该库的一个稳定版本,提供了一系列增强和额外的工具类,以帮助开发者更高效地处理Java集合。 1. **接口增强**: ...
在iOS-Example-Collections-master这个文件夹中,你可能会找到以下文件结构: - 示例代码文件夹:包含各个示例的Objective-C类文件,如ViewController、CollectionViewCell和自定义布局类。 - 资源文件夹:包含图片...
Maven坐标:org.apache.commons:commons-collections4:4.1; 标签:apache、commons、collections4、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档...
Java是世界上最流行的编程语言之一,尤其在...总结来说,"黑马程序员Javase笔记"涵盖了Java的基础语法、内存管理、面向对象编程、集合框架以及泛型和Map等内容,这些都是成为一名合格Java开发者必须掌握的核心知识。
feathers-mongo-collections 服务 创建服务来管理数据库中的集合。 除了 get/findOne 之外, feathers-mongo-collections就像标准服务一样工作。 它在执行create 、 update和remove时使用集合名称作为id值。安装npm ...
这种特性使得程序员能够使用熟悉的 SQL 语句来筛选、聚合、排序和更新集合中的元素,极大地提高了代码的可读性和简洁性。 3. **扩展的集合接口和类**:除了标准的 `List`, `Set`, `Map` 等接口,`ynn-util-...
该文件里包含两个.jar包: collections-generic-4.01.jar和looks-2.1.4.jar, 引入collections-generic-4.01.jar: 右击工程--》Build path ——》Add External JAR-->选中collections-generic-4.01.jar --》OK 在源...
Apache Commons Collections是一个强大的Java集合框架扩展库,它为Java的内置集合类提供了丰富的功能增强。这个"commons-collections4-4.2-bin"是Apache Commons Collections的第4版的第2次更新,是一个二进制分发包...