实验十二 集合泛型程序设计(二)

一、实验目的

1.掌握HashSet和TreeSet的常用方法

2.掌握HashMap和TreeMap的使用方法

二、实验硬、软件环境

Windows计算机和Eclipse软件

三、实验内容及步骤

1.创建Map集合,创建Emp对象,并将Emp对象添加到集合中(Emp对象的id作为Map集合的键),并将id为015的对象从集合中移除。

实验步骤:

(1)创建Emp类:

public class Emp {

    private String id;

    private String name;

 

    public Emp() {

    }

    public Emp(String id, String name) {

        this.id = id;

        this.name = name;

    }

    public String getId() {

        return id;

    }

    public void setId(String id) {

        this.id = id;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

}

(2)创建Test类测试:

public class Test1 {

    public static void main(String[] args) {

        Map map=new HashMap();

        Emp emp1=new Emp("015","张三");

        Emp emp2=new Emp("033","李四");

        map.put(emp1.getId(),emp1.getName());

        map.put(emp2.getId(),emp2.getName());

        Collection coll=map.values();

        Iterator it= coll.iterator();

        System.out.println("移除前集合中的元素:");

        while (it.hasNext()){

            System.out.println(it.next());

        }

        map.remove("015");

        Collection coll2=map.values();

        Iterator it2= coll2.iterator();

        System.out.println("移除后集合中的元素:");

        while (it2.hasNext()){

            System.out.println(it2.next());

        }

    }

}

 

2.使用泛型集合HashSet和Map存储企鹅信息。并使用Iterator和for each遍历该集合。

实验步骤:

创建企鹅类:

public class Spheniscidae {

    private String id;

    private String name;

    public Spheniscidae() {

    }

    public Spheniscidae(String id, String name) {

        this.id = id;

        this.name = name;

    }

    public String getId() {

        return id;

    }

    public void setId(String id) {

        this.id = id;

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

}

(1)使用泛型集合HashSet,创建Test类测试:

import java.util.HashSet;

import java.util.Iterator;

import java.util.Set;

 

public class Test2_1 {

    public static void main(String[] args) {

        Set set=new HashSet<>();

        set.add(new Spheniscidae("123","小红"));

        set.add(new Spheniscidae("456","小黄"));

        set.add(new Spheniscidae("789","小绿"));

 

        System.out.println("使用迭代器:");

        System.out.println(" ID  名称:");

        Iterator it= set.iterator();

        while (it.hasNext()){

            Spheniscidae sphen= it.next();

            System.out.println(sphen.getId()+"  "+sphen.getName());

        }

 

        System.out.println("使用增强for:");

        System.out.println(" ID  名称:");

        for (Spheniscidae n:set){

            System.out.println(n.getId()+"  "+n.getName());

        }

    }

}

(2)使用泛型集合Map,创建Test类测试:

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Set;

 

public class Test2_2 {

    public static void main(String[] args) {

        Map map=new HashMap<>();

        map.put(1,new Spheniscidae("456","小红"));

        map.put(2,new Spheniscidae("123","小黄"));

        map.put(3,new Spheniscidae("789","小绿"));

 

        System.out.println("使用迭代器:");

        System.out.println("  ID  名称:");

        Set set=map.keySet();

        Iterator it=set.iterator();

        while (it.hasNext()){

            Integer key=it.next();

            Spheniscidae sphen=map.get(key);

            System.out.println(key+" "+sphen.getId()+" "+sphen.getName());

        }

 

        System.out.println("使用增强for:");

        System.out.println("  ID  名称:");

        for (Map.Entry entry:map.entrySet()){

            int key=entry.getKey();

            Spheniscidae sphen= entry.getValue();

            System.out.println(key+" "+sphen.getId()+" "+sphen.getName());

        }

    }

}

四、实验结果及分析

实验结果

1、

2、

 

实验分析

通过本次实验,掌握了HashSet和TreeSet的常用方法以及HashMap和TreeMap的使用方法。

HashSet类实现Set接口,由散列表支持。不保证Set的迭代顺序,特别是它不保证该顺序恒久不变。此类允许使用null元素。

TreeSet类不仅实现了Set接口,还实现了java.util.SortedSet接口,因此TreeSet类实现的Set集合在遍历集合时按照自然顺序递增排序,也可以按照指定比较器递增顺序。

你可能感兴趣的:(实验报告,java)