寫一個類 CollectionTest,有一個無參構造器,在這個構造器中實現以下功能,最后在 main中 new CollectionTest 來調用構造器(也就是調用下面的功能),【當然以下代碼直接寫在 main中也是可以】:(二)ArrayList 實驗:1.New 一個 ArrayList 對象,比如:ArrayList<String> list = new ......(這里你自己寫);2.調用 add 方法來存儲姓名:"James","Tom","Steven","Alice":3.仿照以下代碼來輸出 ArrayList 中所有的姓名:特別特別注意下面的 list 是 ArrayList 的對象變量for(int count=0;count<list.size();count++)System.out.println(list.get(count)+" ");//從 arrayList 中讀取元素4.使用迭代器來輸出 ArrayList 中所有的姓名,並且當姓名是 Tom 時,刪除 Tom,迭代器用法例子:Iterator iter=list.iterator(); //聲明一個迭代器,來訪問 list 的內容//調用 iterator 的 hasNext 方法判斷 Collection 是否還包含元素while(iter.hasNext()){//調用 iterator 的 next 方法獲得下一個元素的引用String element = (String) iter.next();System.out.println(element +” ”);if( ….) //如果是 Tom 則刪除iter.remove();}5.調用 sort 方法進行排序6.使用 for each 循環來輸出 ArrayList 中所有的姓名,看看 Tom 是否被刪除了(三)LinkedList 實驗:在上面實驗的基礎上,繼續添加代碼:用鏈表 LinkedList 代替 ArrayList 重做(一)實驗(四)在上面實驗基礎上繼續添加 HashMap 實驗:HashMap 存放的是 key/value 對1.先定義一個內部類 Student,里面 fields 有:學號 String、姓名 String、年齡 int,方法:有參和無參構造器2.利用 HashMap 添加以下學生(key 為學號,value 為學生):學號:15H002,姓名:孫悟空,年齡 2000學號:15H001,姓名:唐僧,年齡 40學號:15H003,姓名:豬八戒,年齡 1000請把這些學生放入的到 HashMap 對象中去,下面是參考代碼:Map<String, Employee> staff = new HashMap<>(); //這里的 key 為 String,value 為 EmployeeEmployee harry = new Employee (......);staff.put("987-98-9996", harry) //或 staff.put("987-98-9996", new Employee(…));3.根據 key(學號)查找學號為 15H003 和 15H004 的學生,如果存在則輸出其學號、姓名、年齡信息,否則輸出相應的提示信息。4.輸出所有學生的信息,代碼參考:for(Map.Entry<String, Employee> entry : staff.entrySet()){String key = entry.getKey();Employee value = entry.getValue();do something with key, value}5.移除唐僧(可根據其學號或者姓名刪除)6.把 HashMap 變成數組,並輸出每個數組元素的信息(學號、姓名、年齡),參考例子:Object[] values = staff.values().toArray();如果無法輸出學號、姓名和年齡,請在 Student 類中覆蓋(重寫)方法 toString,在該方法中輸出相應的信息。代碼實現package Lab9;
import java.util.*;
class student{String name;
int age;public void setdata(String name,int age)
{
this.name = name;
this.age = age;
}
public String toString() {
return name +age;
}
}public class Lab9 {
public static void main(String[] args) /*throws Exception*/{
/*Arraylist*/
ArrayList<String> list = new ArrayList<String>();/*linkedlist*/
// LinkedList list=new LinkedList();
list.add("James");
list.add("Tom");
list.add(1, "Steven"); // 此條語句將會把“Steven”字符串增加到list的第2個位置。
list.add("Alice");
System.out.println(list.toString());// 顯示數組鏈表中的內容
Iterator iter=list.iterator(); //聲明一個迭代器,來訪問 list 的內容
//調用 iterator 的 hasNext 方法判斷是否還包含元素
while(iter.hasNext())
{
//調用 iterator 的 next 方法獲得下一個元素的引用
String element = (String) iter.next();
if(element =="Tom") //如果是 Tom 則刪除
iter.remove();
}
System.out.println("刪除后");
// for (String str : list) {
// System.out.print(str + " ");//arraylist可用
// }
System.out.println(list);
/*------------------------------------------------------------------*/
/* 我是分界線= = */
Map<String,student> Stu = new HashMap<>();
student[] s = new student[4];//創建數組
s[0] = new student();//實例化
s[1] = new student();
s[2] = new student();
s[0].setdata("孫悟空",2000);
s[1].setdata("唐僧",40);
s[2].setdata("豬八戒",1000);
Stu.put("15H002",s[0]);
Stu.put("15H001",s[1]);
Stu.put("15H003",s[2]);
System.out.println("");
System.out.println(Stu);
System.out.println("刪除后");
Stu.remove("15H001");
Iterator<String> iterator =Stu.keySet().iterator();
System.out.println(Stu);
// while(iterator.hasNext())
// {
// Object key = iterator.next();
// System.out.println(Stu.get(key));//通過鍵拿值
// }}
}