码迷,mamicode.com
首页 > 其他好文 > 详细

List与Set的使用

时间:2016-06-27 01:33:40      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

接口Collection:

     Collection是Java的一个集合框架, 也是一个根接口。JDK中没有提供此接口的任何实现,但是提供了更具体的子接口Set和List接口的实现,所有的Collection实现类都是通过这些子接口间接实现了Collection。

     Collection接口有两种构造方法,一种用于构造空的Collection,另一种是带有Collection类型单参数的构造方法。该接口常用的方法包括add(E e),addAll(Collection<?> e),clear(),contains(Object o),equals(Object o),isEmpty(),remove(Object o),size(),toArray(),iterator()等等。

     常用子接口包括List,Set,Queue等。

Set接口:

     一个不包含重复元素的Collection,并且最多包含一个null元素,Set中的元素是自动排序的,与添加顺序无关。

     常用实现类包括HashSetTreeSet,区别为 1.HashSet底层是通过HashMap实现的,而TreeSet是通过TreeMap实现的。

          2.TreeSet类是使用元素的自然顺序对元素进行排序,因此必需实现Comparable接口,而HashSet根据哈希值来对元素进行排序。

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

public class Collection_try {
    
    public static void main(String[] args){
        
        Set set=new HashSet();
        set.add("2");
        set.add("1");
        set.add("3");
        set.add("4");
        Iterator i=set.iterator();
        while(i.hasNext()){
            System.out.println(i.next());
        }
        
        System.out.println("-------------------------");
        
        A a1=new A(11);
        A a2=new A(12);
        A a3=new A(13);
        A a4=new A(10);
        TreeSet set1=new TreeSet();
        set1.add(a1);
        set1.add(a2);
        set1.add(a3);
        set1.add(a4);
        
        Iterator i1=set1.iterator();
        while(i1.hasNext()){
            System.out.println(i1.next());
        }
        System.out.println(set1.size());
    }

}


class A implements Comparable{
    
    private int i;
    
    public int getI() {
        return i;
    }

    public void setI(int i) {
        this.i = i;
    }

    public A(int i){
        this.i=i;
    }
    
     public int compareTo(Object o)                 //写具体的比较方法
     {
             A s=(A)o;
             if(s.getI()<this.i){
                 return 1;
             }else{
                 return -1;
             }
     }
     
     public String toString(){
         return i+":ok";
     }
}

 

List接口:

    可以包含重复元素的Collection,但是不可以包含null元素,用户可以对列表中每个位置的元素进行精确控制。

     常用实现类包括Vector,LinkedList,ArrayList,Stack。

未完待续。。。

    

List与Set的使用

标签:

原文地址:http://www.cnblogs.com/z-belief/p/5618934.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!