Java中的容器_第1张图片 
 
Java容器中主要涉及到六个接口:
Collection、Set、List、Map、Comparable和Iterator

Set接口中的数据对象没有顺序且不可以重复

List接口中的数据对象有顺序且可以重复

Map接口定义了存储“键(Key)—值(value)映射对”的方法

Comparable 接口

该接口在java.lang包中,接口中就一个返回值为int类型的compareToT a)方法。String类实现了该接口,重写了compareTo方法。两个字符串通过compareTo方法比较,先比较第一个字母,第一个字母相同再比较第二个字母,最后返回一个整数。例如:

"a".compareTo("c")   //-2

"c".compareTo("a")   //2

"c" .compareTo( "c" )    //0

Map接口中的常用方法:

public void clear() //清空Map集合
public boolean containsKey(Object key) //判断指定的key是否存在
public boolean containsValue(Object value) //判断指定的value是否存在
public Set>entrySet() //Map对象变为Set集合
public Object get(Object key) //根据key取得value,注意返回值为Object类型,赋给某个特定对象时要进行强制类型转换
public boolean isEmpty() //判断集合是否为空
public Set keySet() //取得所有的key
public Object put(Object key,Object value) //向集合中加入元素
public void putAll(Map t)//Map t集合中的内容加入到另一个Map
public Object remove(Object key)   //根据key删除value
public int size()                   //取出集合的长度
public Collection values()      //取出全部的value

      
      
      
      
  1. import java.util.*;  
  2. public class Test {  
  3.     public static void main(String args[]) {  
  4.         Map m1 = new HashMap();  
  5.         Map m2 = new TreeMap();  
  6.         m1.put("a1", new String("a"));  
  7.         m1.put("a2", new String("aa"));  
  8.         m1.put("a3", new String("aaa"));  
  9.         m2.put("a1", new Integer(1));  
  10.         m2.put("a2", 2); // 自动打包,将2打包成new Integer(2)  
  11.         System.out.println(m1.size());  
  12.         System.out.println(m1.containsKey("a1"));  
  13.         String s = (String) m1.get("a2"); // 强制转换为String类型  
  14.         System.out.println(s);  
  15.         Map m3 = new HashMap(m2); // 将m2对象赋给m3  
  16.         System.out.println(m3);  
  17.         m3.putAll(m1); // m3中内容被m1替换  
  18.         System.out.println(m3);  
  19.     }  

 

输出结果:
3
true
aa
{a1=1, a2=2}
{a1=a, a2=aa, a3=aaa}
 
Java容器中涉及到的一个类Collections,位于java.util包中。
常用方法:
reverse(List list) //反转指定列表中元素的顺序
sort(List list)    //根据元素的自然顺序对指定列表按升序进行排序
shuffle(List list)  //随机排序
 
自动打包和解包:

 

JDK1.5之后,java中增加了自动打包和解包功能

int i=new Integer(1);   //自动解包

Map m1=new HashMap();

m1.put("a1"1);     //自动打包,将int类型的1打包成new Integer(1)