`

java集合排序笔记

    博客分类:
  • Java
阅读更多
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());
		}
	}
}

 

0
0
分享到:
评论

相关推荐

    java 集合部分笔记

    【Java集合】 Java集合框架是Java编程语言中用于存储和操作对象的工具,它提供了多种数据结构,如列表、集、映射等,以适应不同的数据处理需求。集合类通常位于`java.util`包下,是Java程序员必备的知识点。 1. **...

    Java集合框架学习笔记

    Java集合框架是Java编程语言中一个至关重要的组成部分,它提供了数据结构和算法的抽象,使得开发者可以方便地存储和管理各种类型的数据。本篇将详细探讨Java集合框架的基础知识,包括核心接口、类的层级结构以及Java...

    集合框架学习笔记

    这篇学习笔记将深入探讨Java集合框架的基础概念、主要类库以及常见应用场景。 首先,Java集合框架分为两种基本类型:List(列表)和Set(集)。List接口代表有序的集合,允许重复元素,如ArrayList和LinkedList;而...

    java编程基础笔记(集合)

    Java编程基础笔记主要聚焦在集合框架上,这是Java编程中不可或缺的部分。集合框架是Java提供的一组接口和类,用于存储和操作...在实际的学习过程中,结合这些图片和文字笔记,可以加深对Java集合的理解,提升编程能力。

    达内JAVA培训综合笔记

    另外,Java的集合框架是管理对象集合的基础,笔记中介绍了Collection集合框架,以及List、Set、Map集合的具体实现类。还包括了对单例模式和模版方法模式的讨论,这两种设计模式在实际开发中非常实用。二维数组和对象...

    Java demo 算法笔记

    这份"Java demo 算法笔记"集合了Java开发中的多种关键知识点,包括但不限于基础语法、框架源码解析、算法实现以及并发处理等内容,对于学习和提升Java编程技能具有极大的帮助。 首先,我们来探讨Java的基础部分。...

    java校招学习笔记

    "java校招学习笔记"显然是针对应届毕业生或求职者准备的,旨在帮助他们掌握Java的基础知识和校招面试中常见的技术问题。这份笔记可能包含了从基础概念到进阶主题的全面概述,以提高求职者的竞争力。 首先,Java的...

    java笔记以及案例

    Java集合框架包括接口(如List、Set、Map)和实现这些接口的类(如ArrayList、HashSet、HashMap)。List接口存储有序的元素,可以有重复项;Set接口存储无序且不重复的元素;Map接口则用于存储键值对。了解这些接口...

    java私塾学习笔记整理

    Java集合框架提供了实现特定数据结构的接口和类。 **Set接口**:不允许重复元素。 **List接口**:有序且允许重复元素。 **Map接口**:存储键值对映射关系。 **Set接口** - **HashSet**:基于哈希表实现,元素...

    Java学习笔记整理

    1. **Day0804_HashMap的基本使用.docx**:HashMap是Java集合框架中的一个重要组件,它提供了键值对的存储。HashMap基于哈希表实现,具有快速查找的特性。文件中可能详细介绍了HashMap的插入、删除、查找操作,以及它...

    java基础18天Typora笔记

    Java基础18天 Typora笔记概述 这是一份专为Java初学者准备的学习资源,由魔乐科技提供,旨在帮助用户在18天内建立起坚实的Java编程基础。Typora是一款简洁而高效的Markdown编辑器,使得笔记整理和阅读更加便捷。...

    java做题笔记

    Java集合框架是一组用于存储和操作集合的接口和类的集合。主要包括List、Set、Map等接口,以及ArrayList、LinkedList、HashSet、HashMap等实现类。 #### 9. 异常处理 异常处理是Java中用于处理程序错误的一种机制。...

    Java基础预习笔记

    Java 基础预习笔记 本文档是 Java 基础预习笔记,涵盖了 Java 的基本概念、数据类型、常量和变量、运算符、控制流语句、数组等知识点。 一、数据类型 Java 中有八种基本数据类型:byte、short、int、long、float...

    java面试笔记最新java面试笔记

    Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和...对于"面试笔记"这个文件,它很可能包含了以上所有领域的详细解答和实例,是准备Java面试的宝贵资料。通过深入学习和实践,可以显著提高面试成功率。

    java笔记,上课笔记

    - Collection是Java集合框架的顶级接口,代表了一组独立的对象。 7. **迭代器Iterator**: - 迭代器是访问集合元素的标准方式,提供了`hasNext()`和`next()`方法来遍历集合。 8. **Set**: - Set接口表示不包含...

    JAVA 数据处理笔记

    List是Java集合框架中的一个重要组成部分,它是一个有序的集合,可以包含重复的元素。List接口提供了多种操作方法,如添加元素(add)、删除元素(remove)、获取元素(get)以及遍历列表(迭代器)等。实现List接口的主要类...

    java初级程序员知识笔记

    集合类可以用于存储、查找、排序等操作。 八、异常类 Java中的异常类是一种用于处理错误和异常的机制。异常类可以用于catch和throw异常,以便更好地处理程序中的错误。 九、基础命名规范 Java中的命名规范非常重要...

    高手总结Java初学者学习经验笔记整理

    #### 一、Java集合框架概述 Java集合框架是Java标准库中的一个重要组成部分,它提供了一组接口和实现类来处理各种数据结构,比如列表、集合和映射等。这些数据结构允许程序员以一种结构化的方式存储和操作对象。 #...

Global site tag (gtag.js) - Google Analytics