程序利用ArrayList实现元素的添加和删除,并将ArrayList集合转变为数组输出。
import java.util.ArrayList;
public class ListDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList list=new ArrayList();
for(int i=0;i<10;i++)//给数组增加10个int元素
list.add(i);
list.remove(5);//将第6个元素移除
for(int i=0;i<3;i++)//再增加3个元素
list.add(i);
Integer[] al=(Integer[])list.toArray(new Integer[list.size()]);
for(int i=0;i<al.length;i++)
System.out.print(al[i]+" ");
}
}
0 1 2 3 4 6 7 8 9 0 1 2
LinkedList类的基本用法。
import java.util.LinkedList;
import java.util.List;
public class LinkedListDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
LinkedList list=new LinkedList();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
System.out.println("LinkedList:"+list);
System.out.println("getFirst()"+list.getFirst());
System.out.println("getLast()"+list.getLast());
list.addFirst("firstElement");
list.addLast("lastElement");//等同add()
System.out.println("addFirst() and addLast():"+list.toString());
list.add(2, "addElement");
System.out.println("add(2,addElement):"+list);
list.remove(2);
System.out.println("remove(2):"+list);
list.removeFirst();//删除列表的首位元素
list.removeLast();
System.out.println("removeFirst() and removeLast():"+list);
System.out.println("indexOf(2):"+list.indexOf(2));
}
}
LinkedList:[1, 2, 3, 4, 5]
getFirst()1
getLast()5
addFirst() and addLast():[firstElement, 1, 2, 3, 4, 5, lastElement]
add(2,addElement):[firstElement, 1, addElement, 2, 3, 4, 5, lastElement]
remove(2):[firstElement, 1, 2, 3, 4, 5, lastElement]
removeFirst() and removeLast():[1, 2, 3, 4, 5]
indexOf(2):-1
声明一个Collections API的Set对象,并且用其子类HashSet对其初始化。向Set中添加元素并打印结果。
import java.util.*;
public class SetTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Set set=new HashSet();
set.add("abc");
set.add("abd");
set.add("abe");
set.add(new Integer(4));
set.add("abe");//插入了相同的数据,所以会失败
set.add(new Integer(4));//同上
System.out.println(set);
}
}
[abd, abc, 4, abe]
重写hashCode()方法和equals()方法,验证HashSet集合元素的添加。
import java.util.*;
public class SetTest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
HashSet hs=new HashSet();
for(int i=0;i<10;i++)//保存了10个元素
hs.add(new Data());
System.out.println(hs);
}
}
class Data{
//覆盖hashCode()方法,得到一样的hashcode
public int hashCode() {
return 12;
}
//覆盖equals()方法,是每个对象比较相等
public boolean equals(Object o) {
return true;
}
}
[Data@c]
若只写hashCode()方法,则所有元素的哈希地址是相同的,存放位置相同,并依次可以访问到下一个相邻元素,输出结果为:
[Data@c,Data@c,Data@c,Data@c,Data@c,Data@c,Data@c,Data@c,Data@c,Data@c]
若没有重写hashCode()方法和equals()方法,则每个元素均会存储到集合中,输出结果为:
[Data@1bc4459,Data@12b6651,Data@4f1d0d,Data@18a992f,Data@150bd4d,Data@dc8569,Data@c3c749,Data@1bab50a,Data@1fc4bec,Data@4a5ab2]
HashMap类的基本用法。
import java.util.HashMap;
import java.util.Map;
public class HashMapDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Map<String,String> cities=new HashMap<String,String>();
cities.put("BJ", "北京");
cities.put("SH", "上海");
cities.put("GZ", "广州");
cities.put("SZ", "深圳");
String city=(String) cities.get("BJ");
System.out.println("BJ对应的城市是:"+city);
System.out.println("Map中共有"+cities.size()+"组数据");
cities.remove("GZ");
System.out.println("Map中包含GZ的key吗?"+cities.containsKey("GZ"));
System.out.println(cities.keySet());
System.out.println(cities.values());
System.out.println(cities);
}
}
BJ对应的城市是:北京
Map中共有4组数据
Map中包含GZ的key吗?false
[SH, SZ, BJ]
[上海, 深圳, 北京]
{SH=上海, SZ=深圳, BJ=北京}
遍历HashMap的键值对。
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class iteratorHashMapByEntryset {
public static void main(String[] args) {
// TODO Auto-generated method stub
Map<String,String> cities=new HashMap<String,String>();
cities.put("BJ", "北京");
cities.put("SH", "上海");
cities.put("GZ", "广州");
Iterator iter=cities.entrySet().iterator();
while(iter.hasNext()) {
Map.Entry entry=(Map.Entry)iter.next();
String key=(String)entry.getKey();
String value=(String)entry.getValue();
System.out.println(key+"--"+value);
}
}
}
GZ--广州
SH--上海
BJ--北京
遍历HashMap的键。
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class iteratorHashMapByKeyset {
public static void main(String[] args) {
// TODO Auto-generated method stub
Map<String,String> cities=new HashMap<String,String>();
cities.put("BJ", "北京");
cities.put("SH", "上海");
cities.put("GZ", "广州");
Iterator iter=cities.keySet().iterator();
while(iter.hasNext()) {
String key=(String)iter.next();
String value=(String)cities.get(key);
System.out.println(key+"--"+value);
}
}
}
GZ--广州
SH--上海
BJ--北京
遍历HashMap的值。
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class iteratororHashMapJustValues {
public static void main(String[] args) {
// TODO Auto-generated method stub
Map<String,String> cities=new HashMap<String,String>();
cities.put("BJ", "北京");
cities.put("SH", "上海");
cities.put("GZ", "广州");
Collection c=cities.values();
Iterator iter=c.iterator();
while(iter.hasNext()) {
System.out.println(iter.next());
}
}
}
广州
上海
北京