//JAVA-集合框架

import java.util.*;

public class TestCollection{
 public static void main(String[] args){
  Set set=new HashSet();
  //set 一个不包含重复元素的集合,无顺序  
  //HashSet实现set接口
  set.add("set");    
  set.add(new Integer(4));
  set.add(new Float(5.0F));
  System.out.println(set); 
  
  List list=new ArrayList();
  //List 一个包含重复元素的集合,有顺序
  //ArrayList实现List接口
  list.add("list");
  list.add("list");
  list.add(new Float(5.1F));
  list.add(new Integer(5));
  //System.out.println(list);
  
  //list集合类的迭代器
  Iterator iterator=list.iterator();
  if(iterator.hasNext()){
     //判断迭代器是否还有对象
    System.out.println(iterator.next()); 
    //返回列表中的下一个对象
  }
  if(iterator.hasNext()){
    System.out.println(iterator.next()); 
  }
  if(iterator.hasNext()){
    System.out.println(iterator.next()); 
  }
  if(iterator.hasNext()){
    System.out.println(iterator.next()); 
  }
  
  //Vector实现List接口
  Vector vector1=new Vector();
  vector1.add("vector1");
  vector1.add("vector2");
  Vector vector2=new Vector();
  
  vector2.addAll(vector1);
  //将vector1集合中的所有对象都添加到vector2集合中
  System.out.println(vector1); 
  
  System.out.println(vector2.get(1));
  //get用于获取集合中指定位置的对象
  
  vector2.remove("vector1");
  //删除vector2集合中的vector1对象
  System.out.println(vector2);
  
  vector1.remove(0);
  //删除vector1对象中指定位置的对象
  System.out.println(vector1);
  
  Vector myvector1=new Vector();  
  myvector1.add("bbb");
  myvector1.add("ccc");
  Vector myvector2=new Vector();
  myvector2.add("aaa");
  myvector2.add("bbb");
  myvector2.add("ccc");
  myvector2.removeAll(myvector1);
  System.out.println(myvector2);
  
  Enumeration days;
  Vector dayNames=new Vector();
  dayNames.add("Sunday");
  dayNames.add("Monday");
  dayNames.add("Tuesday");
  dayNames.add("Wednesday");
  dayNames.add("Thursday");
  dayNames.add("Friday");
  dayNames.add("Saturday");
  days=dayNames.elements();
  //将Vector类型转为Enumeration类型
  while(days.hasMoreElements()){
   System.out.println(days.nextElement()); 
  }  

 

String[] num={"one","two","three"};
  Vector aVector=new Vector(Arrays.asList(num));
  //Arrays.asList(num)表示将数组num转为ArrayList集合
  System.out.println(aVector);

 

//哈希表,该哈希表将键映射到相应的值
  Hashtable aPhoneBook=new Hashtable();
  
  aPhoneBook.put("zhang","0555-6566999");
  //put 表示将value值以key为键,加入到哈希表中
  
  aPhoneBook.put("li","0555-6566888");
  aPhoneBook.put("wang","0555-6566777");
  System.out.println(aPhoneBook);
  System.out.println(aPhoneBook.get("li"));
  
  System.out.println(aPhoneBook.get("Zhou")); //返回null
  //get 表示获取键li所映射到value值
  
  aPhoneBook.remove("zhang");
  
  aPhoneBook.remove("li");  
  System.out.println(aPhoneBook);
 } 
}

 

 


 

HashMap


import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

public class HashMapExample1 {
 public static void main(String[] args) {
  HashMap<Integer,String> hm=new HashMap<Integer,String>();
  hm.put(1, "aaa");
  hm.put(2, "bbb");
  hm.put(4,"ccc");
  hm.put(4, "ddd");
  System.out.println(hm);
  
  System.out.println(hm.get(4)); //输出ddd,键key不能重复,该语句错误
  
  Set set=hm.keySet();
  //返回此映射中所包含的键的 Set 视图
  //因为HashMap中没有迭代器,所以将HashMap类型转为Set类型
  
  Iterator it=set.iterator();
  while(it.hasNext()){
   Object key=it.next();   
   Object value=hm.get(key);
   System.out.println("key="+key+";value="+value);
  }
  
 }

 

 

 


 

HashTable

 

import java.util.Hashtable;

public class HashTableExample1 {
 public static void main(String[] args) {
  Hashtable hm=new Hashtable();
  hm.put(1, "aaa");  
  hm.put(2,3.4);
  hm.put(4, "ddd");
  System.out.println(hm);  
 }
}

 

 


 

 

HashSet

 

import java.util.HashSet;

public class SetExample1 {
 public static void main(String[] args) {
  HashSet hs=new HashSet();
  hs.add(111);
  hs.add(3.4);
  hs.add("aa");
  hs.add("aa");  
  hs.add(new SetExample1());
  System.out.println(hs);
 }
}

 

 


 

 

Vector

 

import java.util.Vector;

public class VectorExample1 {
 public static void main(String[] args) {
  Vector v=new Vector();
  v.add("aaa");
  v.add("bbb");
  v.add("ccc");
  v.add(55);
  v.add('a');  
  System.out.println(v);  
 }
}

 

 


 

 

ArrayList   例1

 

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;

public class ListExample {
 public static void main(String[] args) {
  List hs=new ArrayList();
  //List是接口,不能实例化,所以用其实现类来实例化,创建一个List集合
  
  hs.add(111);
  hs.add(3.4);
  hs.add("aa");
  hs.add("aa");
  hs.add(new ListExample()); //输出的是内存地址
  
  Iterator it=hs.iterator();
  //Iterator是一个接口
  //List和Set都有迭代器Iterator
  while(it.hasNext()){
   Object obj=it.next();
   System.out.println(obj);
  }  
  
 }
}

 

 

ArrayList   例2

import java.util.ArrayList;
import java.util.List;

public class ListExample3 { 

 public static void main(String[] args) {
  List list=new ArrayList();
  list.add("aaa");
  list.add("bbb");
  list.add("ccc");
  list.add("ddd");
  
  list.add(0,"eee");
  //在0位置添加eee这个对象
  
  for(int i=0;i<list.size();i++){
   if(list.get(i).equals("ccc"))
    System.out.println("找到了ccc");
  }
  
  System.out.println(list.size());
  //size 表示集合中元素的个数
  
   System.out.println(list.get(3));
  
  //set = List.set(2, "fff");
  //System.out.println(list);
  
  //List.remove(2);
  //System.out.println(list);
  
  if(list.contains("aaa")){
   System.out.println("list 中包含 aaa");
  }
  
  Object obj[]=list.toArray();
  // 按顺序返回列表中所有元素的数组
  
  for(int i=0;i<obj.length;i++){
   System.out.print(obj[i]);
  }
  System.out.println("");
  
  list.removeAll(list);
  //清空list中的所有元素对象
  
  if(list.isEmpty()){
   //判断list集合是否为空
   System.out.println("list 为空");
  }
 }
}