java集合框架

集合就是一个存储一组对象的容器。一般称这些对象为该集合的元素。java集合有三种类型:规则集(Set)、线性表(List)、图(Map).它们分别定义在接口Set,List,Map中。Set的实例存储一组互不相同的元素,List的实例存储一组顺序排列的元素,Map的实例存储一组对象,每个对象都有一个关联的键。

   在线性表的实现类里面实现listIterator接口实现双向链表,如针对ArrayList和LinkedList。下面代码给出针对这二种线性表的双向链表操作。

public class list {
    public static void main(String[] args){
        List<Integer> linkedlist=new LinkedList<Integer>();
        linkedlist.add(21);
        linkedlist.add(12);
        linkedlist.add(34);
        linkedlist.add(45);
        linkedlist.add(65);
        linkedlist.add(67);
        System.out.println(linkedlist);
        ListIterator<Integer> listiterator=linkedlist.listIterator(4);
        System.out.println("链表式线性表");
        while(((ListIterator<Integer>) listiterator).hasPrevious()){
            System.out.println(listiterator.previous()+" ");
        }
        List<String> array=new ArrayList<String>();
        array.add("hello");
        array.add("world");
        ListIterator<String> arrayiterator=array.listIterator(1);
        System.out.println("数组线性表");
        while(arrayiterator.hasPrevious()){
            System.out.println(arrayiterator.previous()+" ");
        }
                                                                                                          
    }
}

如下是集合接口的UML图,第一部分展现的是接口部分,第二部分展现的是抽象类,第三个部分展现的是具体类。  

java集合框架里面所有具体类都实现了cloneable和Seriallizable接口,所以它们都可以实现克隆和可序列化。

比较器接口Comparator

为了在排序中比较不同类型的对象,你必须自己实现Comparator接口,实现二个方法compare(Object e1,Object e2)和equals(Object e1)。

wKiom1LWQTzjrz1cAAL45XCubg0813.jpg

你可能感兴趣的:(java,集合)