集合: 集合是一个用于管理其他多个对象的对象
一、
1、Collection 接口:
集合中每一个元素为一个对象,这个接口将这些对象
组织在一起,形成一维结构。
2.List接口:
代表按照元素一定的相关顺序来组织(在这个序列中顺序是
主要的),List 接口中数据可重复。
3、Set接口:
是数学中集合的概念: 其元素无序,且不可重复。(正好与
List 对应)
4、
SortedSet 接口: 会按照数字将元素排列,为“可排序集合”。
5、Map 接口: 接口中每一个元素不是一个对象,而是一个键对象和值对
象组成的键值对(Key-Value )
6、SortedMap接口: 如果一个Map 可以根据key 值排序,则称其为
SortedMap。
注意: 在“集合框架”中,Map 和Collection 没有任何亲缘关系。
Map 的典型应用是访问按关键字存储的值。
返回Map 对象的Set 视图的方法:
Set set = aMap.keySet()
while( it.hasNext( )){
0bject o= it.next( );
System.out.println( );
注: 工具类是指所有的方法都是公开静态方法的类。
Java.util.collections就是一个工具类;
三、对集合的排序
1、我们可以用Java.util.colletions中的sor(List l)方法对指定的List集合进行
排序; 但是如果List中存放的是
自定义对象时,这个方法就j不通了,必须实现Comparable接口并且指定
排序规则。这里我们]再来看一下sor(List l)方法的内部实现;
/**********************************************************/
class Collections2{
public static void sort( List I){
for(int i=0;i<l.size( )-1;i++){
for(int j=i+ 1:j<l.size( ):j++){
0bject o1= l.get(i);
0bject o2= l.get(j );
Comparable c1= (Comparable)o1;
Comparable c2 = (Comparable)o2;
if(c 1.compareTo(c2 )>0){
Collections.swap( l,i.j );
注: 其实用的算法就是个冒泡排序。
/***********************************半******************/
2、实现Java.lang.Comparable接口,其实就是实现他的
public int compareTo(Object 0)方法;
比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则
分别返回负整数、零或正整数。
其规则是当前对象与。对象进行比较,其返回一个int 值,系统根据此值来
进行排序。
如当前对象>0 对象,则返回值>0;
如当前对象=0对象,则返回值=0;
如当前对象<0 对象,则返回值(0。
注意: String 类型已经实现了这个接口,所以可以直接排序;
/******************************************************/
class Student implements Comparable{
private String name;
private int age;
public Student(String name,int age) {
this.name = name;
this.age = age;
public int compareTo(Object 0) {
Student s = (Student)o;
return s.age-this.age;
/******************************************************/