package 集合Map;import java.util.*;public class UpdateStu { public static void main(String[] args) { // TODO 自动生成的方法存根 Map<String, String> map = new HashMap<String, String>(); map.put("01", "李同学"); map.put("02", "张同学"); ///// Set<String> set = map.keySet(); ////1 <String> 何意 ? Iterator<String> it = set.iterator(); /////2 这个迭代器要单独用set对象定义一次??? System.out.println("key集合中的元素:"); while (it.hasNext()) { System.out.println(it.next()); } //// Collection<String> coll = map.values(); /////3 为啥 key只能处理成set对象,value只能处理成Colletion对象?? it = coll.iterator(); System.out.println("values集合中的元素:"); while (it.hasNext()) { System.out.println(it.next()); } }}///////////////////////////////////////////key集合中的元素:0102values集合中的元素:李同学张同学
你问题想的太多了,还不在点子上。要么自学,要么老师不说明白,我见过其他讲师讲集合类不讲泛型的,纯扯。1 泛型,意思是set里必须是String类型2 首先你要知道的是,map是什么,他是键值对,key value pair,key可以提高你访问value的速度,但是key通常没什么卵用,真正要用的value,map提供给你了一个方法keySet()来得到所有key的集合,因为key是唯一的,显然set最合适。3 java提供的方法你就看API就好了,它返回什么你就用什么,这个为什么意义不大,这个程序无非是想你知道怎么使用map而已,如何得到key如何得到value,注意现在有增强的for(:),Iterator过时了的写法,用for更简便。集合永远都是个最优选择的问题,看需要是使用set list queue map,在知道key的时候用map最快,但是你总有需要遍历的时候,这个时候就需要把map里的值换成其他集合类,就是上面写的