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 为 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));//通过键拿值
// }}
}