java實例_集合類ArrayList, HashMap [實現添加信息,查找刪除]


寫一個類 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 為 Employee
Employee 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));//通過鍵拿值
// }

}

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM