public class CollectionDemo implements Serializable,Comparable<CollectionDemo>{
private static final long serialVersionUID = -2958090810811192128L;
private int id;
private String name;
public CollectionDemo(){}
public CollectionDemo(int id, String name) {
super();
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//方法一:继承Comparable接口,实现compareTo方法。 在随后生成集合后调用:Collections.sort(集合对象)即可实现排序
@Override
public int compareTo(CollectionDemo o) {
String i1,i2;
i1 = this.name;
i2 = o.getName();
return i1.compareTo(i2);
}
public static void main(String[] args) {
CollectionDemo c1 = new CollectionDemo(1,"c1");
CollectionDemo c2 = new CollectionDemo(2,"c2");
CollectionDemo c3 = new CollectionDemo(3,"c3");
CollectionDemo c4 = new CollectionDemo(4,"c4");
CollectionDemo c5 = new CollectionDemo(5,"c5");
List<CollectionDemo> lstCol = new ArrayList<CollectionDemo>();
lstCol.add(c1);lstCol.add(c5);lstCol.add(c4);lstCol.add(c2);lstCol.add(c3);
System.out.println("-------未排序------");
for (CollectionDemo collectionDemo : lstCol) {
System.out.println("id:"+collectionDemo.getId()+" name:"+collectionDemo.getName());
}
System.out.println("-------排序后①------");
Collections.sort(lstCol);
for (CollectionDemo collectionDemo : lstCol) {
System.out.println("id:"+collectionDemo.getId()+" name:"+collectionDemo.getName());
}
lstCol.clear();
System.out.println("-------清空后------");
for (CollectionDemo collectionDemo : lstCol) {
System.out.println("id:"+collectionDemo.getId()+" name:"+collectionDemo.getName());
}
lstCol.add(c1);lstCol.add(c5);lstCol.add(c4);lstCol.add(c2);lstCol.add(c3);
//方法二:实现Comparator的compare方法
Collections.sort(lstCol, new Comparator<CollectionDemo>() {
@Override
public int compare(CollectionDemo o1, CollectionDemo o2) {
return o2.getName().compareTo(o1.getName());
}
});
System.out.println("-------排序后②------");
for (CollectionDemo collectionDemo : lstCol) {
System.out.println("id:"+collectionDemo.getId()+" name:"+collectionDemo.getName());
}
//方法三:使用TreeSet实现类自动进行自然排序
System.out.println("-------TreeSet排序后③------");
Set<CollectionDemo> ts = new TreeSet<CollectionDemo>(); //SortedSet是TreeSet的接口
ts.add(c1);ts.add(c5);ts.add(c4);ts.add(c2);ts.add(c3);
for (CollectionDemo collectionDemo : ts) {
System.out.println("id:"+collectionDemo.getId()+" name:"+collectionDemo.getName());
}
}
}
分享到:
相关推荐
【Java集合】 Java集合框架是Java编程语言中用于存储和操作对象的工具,它提供了多种数据结构,如列表、集、映射等,以适应不同的数据处理需求。集合类通常位于`java.util`包下,是Java程序员必备的知识点。 1. **...
Java集合框架是Java编程语言中一个至关重要的组成部分,它提供了数据结构和算法的抽象,使得开发者可以方便地存储和管理各种类型的数据。本篇将详细探讨Java集合框架的基础知识,包括核心接口、类的层级结构以及Java...
这篇学习笔记将深入探讨Java集合框架的基础概念、主要类库以及常见应用场景。 首先,Java集合框架分为两种基本类型:List(列表)和Set(集)。List接口代表有序的集合,允许重复元素,如ArrayList和LinkedList;而...
Java编程基础笔记主要聚焦在集合框架上,这是Java编程中不可或缺的部分。集合框架是Java提供的一组接口和类,用于存储和操作...在实际的学习过程中,结合这些图片和文字笔记,可以加深对Java集合的理解,提升编程能力。
另外,Java的集合框架是管理对象集合的基础,笔记中介绍了Collection集合框架,以及List、Set、Map集合的具体实现类。还包括了对单例模式和模版方法模式的讨论,这两种设计模式在实际开发中非常实用。二维数组和对象...
这份"Java demo 算法笔记"集合了Java开发中的多种关键知识点,包括但不限于基础语法、框架源码解析、算法实现以及并发处理等内容,对于学习和提升Java编程技能具有极大的帮助。 首先,我们来探讨Java的基础部分。...
"java校招学习笔记"显然是针对应届毕业生或求职者准备的,旨在帮助他们掌握Java的基础知识和校招面试中常见的技术问题。这份笔记可能包含了从基础概念到进阶主题的全面概述,以提高求职者的竞争力。 首先,Java的...
Java集合框架包括接口(如List、Set、Map)和实现这些接口的类(如ArrayList、HashSet、HashMap)。List接口存储有序的元素,可以有重复项;Set接口存储无序且不重复的元素;Map接口则用于存储键值对。了解这些接口...
Java集合框架提供了实现特定数据结构的接口和类。 **Set接口**:不允许重复元素。 **List接口**:有序且允许重复元素。 **Map接口**:存储键值对映射关系。 **Set接口** - **HashSet**:基于哈希表实现,元素...
1. **Day0804_HashMap的基本使用.docx**:HashMap是Java集合框架中的一个重要组件,它提供了键值对的存储。HashMap基于哈希表实现,具有快速查找的特性。文件中可能详细介绍了HashMap的插入、删除、查找操作,以及它...
Java基础18天 Typora笔记概述 这是一份专为Java初学者准备的学习资源,由魔乐科技提供,旨在帮助用户在18天内建立起坚实的Java编程基础。Typora是一款简洁而高效的Markdown编辑器,使得笔记整理和阅读更加便捷。...
Java集合框架是一组用于存储和操作集合的接口和类的集合。主要包括List、Set、Map等接口,以及ArrayList、LinkedList、HashSet、HashMap等实现类。 #### 9. 异常处理 异常处理是Java中用于处理程序错误的一种机制。...
Java 基础预习笔记 本文档是 Java 基础预习笔记,涵盖了 Java 的基本概念、数据类型、常量和变量、运算符、控制流语句、数组等知识点。 一、数据类型 Java 中有八种基本数据类型:byte、short、int、long、float...
Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和...对于"面试笔记"这个文件,它很可能包含了以上所有领域的详细解答和实例,是准备Java面试的宝贵资料。通过深入学习和实践,可以显著提高面试成功率。
- Collection是Java集合框架的顶级接口,代表了一组独立的对象。 7. **迭代器Iterator**: - 迭代器是访问集合元素的标准方式,提供了`hasNext()`和`next()`方法来遍历集合。 8. **Set**: - Set接口表示不包含...
List是Java集合框架中的一个重要组成部分,它是一个有序的集合,可以包含重复的元素。List接口提供了多种操作方法,如添加元素(add)、删除元素(remove)、获取元素(get)以及遍历列表(迭代器)等。实现List接口的主要类...
集合类可以用于存储、查找、排序等操作。 八、异常类 Java中的异常类是一种用于处理错误和异常的机制。异常类可以用于catch和throw异常,以便更好地处理程序中的错误。 九、基础命名规范 Java中的命名规范非常重要...
#### 一、Java集合框架概述 Java集合框架是Java标准库中的一个重要组成部分,它提供了一组接口和实现类来处理各种数据结构,比如列表、集合和映射等。这些数据结构允许程序员以一种结构化的方式存储和操作对象。 #...