JAVA-集合框架
时间:2010-09-21 来源:刘璐
//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 为空");
}
}
}