Comparable、Iterator接口和Collections类的实现方法
Comparable接口:
此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比较方法。
实现此接口的对象列表(和数组)可以通过 Collections.sort
(和 Arrays.sort
)进行自动排序。
方法:int compareTo(T o) 比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。
Collections类:
List的常用算法: ArrayList默认长度(size)始终是0 默认容量是10
sort(List); 排序
如果需要对自定义的类进行排序, 那就必须要让其实现Comparable接口, 实现比较两个类大小的方法
shuffle(List); 随机排列
void reverse(List); 反转排序(Linked效率较高)
copy(); 复制集合, 前提是size()相同(长度, 和容量的区别)
fill(List, Object);使用某个对象填充整个List
binarySearch();
Iterator接口:
对 collection 进行迭代的迭代器。迭代器取代了 Java Collections Framework 中的 Enumeration。迭代器与枚举有两点不同:
- 迭代器允许调用者利用定义良好的语义在迭代期间从迭代器所指向的 collection 移除元素。
- 方法名称得到了改进。
Iterator为了统一江湖, 从此出现了
所有实现了Collection接口的容器都有一个iterator方法, 用来返回一个实现了Iterator接口的对象
Iterator对象称作迭代器, 用来方便的实现对容器内的元素的遍历
Iterator里面的三个方法:
hasNext()----如果仍有元素可以迭代,则返回 true。
next(), 重点注意: 这个方法每调用一次, 游标就往下走一个,返回迭代的下一个元素。
remove(),从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。 尽量不要与父类的方法混着用