开发工具与关键技术:Java
作者:吴永旗
撰写时间:2019年5月6日
- 简单了解一下java集合,通常说java集合是保存的是类的对象,以数组不同,数组既可以是基本类型的值,也可以保存对象; Java集合大致可分为List、Set、Queue和Map四种体系,其特点为:
特点
List 有序、可重复的
Set 无序,不可重复
Map 键和值一一映射
Queue 先入先出
-
java中经常用集合框架中的实现类有 ArrayList、Linkedlist、 HashSet、TreeSet、 HashMap和TreeMap都是线程不安全的,各有以下特点:
特点
ArrayList 适合查找,不适合指定位置的插入、删除操作,支持Comparable和Comparator两种排序方式
Linkedlist 不适合查找,适合指定位置插入、删除操作,支持Comparable和Comparator两种排序方式
HashSet HashSet中数据无序,可放入null,只能放一个null,放入元素不能重复,HashSet类按Hash算法来存储集合中的元素,因此具有很好的存取和查找性能,不支持Comparable和Comparator两种排序方式
TreeSet Treeset中的数据是自动排好序的,不允许放入null 值,支持Comparable和Comparator两种排序方式
HashMap TreeMap是无序的,不支持Comparable和Comparator两种排序方式
TreeMap TreeMap是有序的,支持Comparable和Comparator两种排序方式 -
集合中经常用到comparable和comparator这两种排序方式,二者的区别是:
Comparable 定义在 类的内部,耦合性较强 从小到大 :thiso 从大到小:othis
Comparator 定义在 类的外部, 此时我们的类的结构不需要有任何变化,从小到大:o1o2 从大到小:o2o1 -
使用comparable/ ArrayList进行排序有以下三步:
第一步:实现接口Comparable
第二步 实现compareTo方法 o 表示和当前对象比较的另外一个对象
第三步Comparable 排序接口 是在类的内部实现 -
定义PersonComperable类实现接口Comparable,定义三个成员变量分别为
学生姓名,班级,和成绩,通过排序成绩由高到低进行排序,实例如下所示:
第一步:实现接口Comparable
第二步 实现compareTo方法 o 表示和当前对象比较的另外一个对象,this-o代表排序按
从小到大排序,o-this代表排序按从大到小排序
第三步Comparable 排序接口是在类的内部实现,首先要实例化List
,然后往里面添加数据,通过Collections.sort()进行排序,最后通过for循环遍历输出数据如下:
2.与comparable相比,Comparator 的排序方法又有什么不同呢?
第一步: 定义一个普通的类就可以, 不需要实现Comparator 接口,因为Comparator 定义在 类的外部;
第二步 :实现compareTo方法o1‐o2(代表从小到大排序)或o2-o1(代表从大到小排序)进行对象比较大小,然后通过迭代器或for循环进行遍历数据,显示实例如下:

本文主要介绍Java集合,其大致分为List、Set、Queue和Map四种体系,各有特点。还介绍了常用实现类如ArrayList、Linkedlist等的特点。此外,详细讲解了Comparable和Comparator两种排序方式的区别及使用步骤,通过实例展示了如何用它们对集合进行排序。

3万+

被折叠的 条评论
为什么被折叠?



