package com.student; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Scanner; import java.util.Set; public class TestStudents { public static void main(String[] args) { Map<String,Student> stu = new HashMap<String,Student>(); Student s1 = new Student("张三","男"); Student s2 = new Student("李四","男"); Student s3 = new Student("王五","女"); //添加键值对 stu.put("jack", s1); stu.put("tom", s2); stu.put("lisa", s3); //获得jack所对应的值 Student s = stu.get("jack"); System.out.println(s.getName()); System.out.println(s.getSex()); System.out.println("***********************"); //使用键的集合set遍历键值信息 Set<String> set = stu.keySet(); for(String s11 : set) { Student stus = stu.get(s11); System.out.println(stus.getName()+stus.getSex()); } //使用值得集合coll遍历键值信息 System.out.println("************************"); Collection<Student> coll = stu.values(); for(Student st : coll) { System.out.println(st.getSex()+st.getName()); } System.out.println("************************"); System.out.println("请输入要查找的学生英文名:"); Scanner sc = new Scanner(System.in); String key = sc.next(); if(stu.containsKey(key)) { Student st = stu.get(key); System.out.println("要查找的学生是:"+st.getName()+"-"+st.getSex()); }else { System.out.println("没有要查找的学生信息!"); } } }
输出:
collection无序不唯一
List有序不唯一
Set无序唯一
ArrayList实现了长度可变的数组,遍历元素和随机访问元素的效率比较高
LinkedList采用链表存储方式,插入,删除元素时效率比较高