- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JavaSE_16_集合类(三)解读
11.尝试MapBoy,ArrayListGirlFriend 12.尝试MapStudent,HashSetBook 13.尝试ArrayList(你看过的电视剧)ArrayListRole人物 14.假如有以下email数据aa@,bb@163.com,cc@现需要把email中的用户部分和邮件地址部分分离,分离后以键值对应的方式放入HashMap? key value aa bb 163.com cc Long (value ^ (value 32)); TreeMap 不同步 将map转成set,以便于遍历:key,value看成一个Entry对象:SetEntryk,v SetMap.EntryStudent, String set = map.entrySet(); IteratorMap.EntryStudent, String it = set.iterator(); * 需要注意,一个static方法,无法访问泛型类的类型参数,所以,若要static方法需要使用泛型能力,必须使其成为泛型方法。 public class MyGenerics T{ } public int indexOf(Object?o) 返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。更确切地讲,返回满足 (o==null???get(i)==null?:?o.equals(get(i))) 的最低索引 i ,如果不存在此类索引,则返回 -1。 实现Map接口的集合类用来存储键-值映射对。 JDK API中Map接口的实现类常用的有 HashMap TreeMap Hashtable (不常用) Map实现类中存储的键-值映射对是通过键来唯一标识,Map底层的键是用Set来存放的。 所以存入HashMap中的映射对的键如果是自定义的类,应该重写hashCode()和equals()方法。 常用String作为Map的键。 * MapK,V接口中定义的一些常用方法: V put(K key, V value) //将指定的键-值对存入Map中 V get(Object key); //返回指定键所映射的值 V remove(Object key); //根据指定的键把此键-值对从Map中移除。 boolean containsKey(Object key); //判断此Map是否包含指定键的键-值对。 boolean containsValue(Object value);//判断此Map是否包含指定值的键-值对。 boolean isEmpty(); //判断此Map中是否有元素。 int size(); //获得些Map中键-值对的数量。 void clear(); //清空Map中的所有键-值对。 SetK keySet(); //返回此Map中包含的键的Set集。 CollectionV values(); //返回此Map中包含的值的Collection集。值是可重复的. * HashMap内部对键用Set进行散列存放。所以根据键去取值的效率很高。 它是使用频率最高的一个集合。 补充:封装类对象的hashCode() * Demo J1406班有若干个学生Student:(1,孙东旭,92; 2,文达,91;.....)是按照学号排序的有序列表 J1407班有若干个学生Student:(1,张三,89; 2,李四,98;......)是按照学号排序的有序列表 .....其他班级..... 经常要通过班级的名字来查询按学号排序的学生信息, HashMapString,ListStudent; 创建map,存入至少两个班级的键值对信息,并遍历所有的键,根据键获取对应的List,并遍历出每个Student对象. Demo 学生属性:姓名,年龄。 注意:姓名和年龄相同的视为同一个学生,保证学生的唯一性。 1.定义学生Student类。 2.每一个学生Student 都有对应的所属城市(String)定义map容器。将学生类作为键,所属城市作为值存入。 3.根据指定的key获取map集合中对应的值。 4.遍历输出map集合中的键值对. Hashtable是JDK1.0就有了, HashMap是JDK1.2引入的,操作大多跟Hashtable相同,建议使用HashMap. Hashtable (注意大小写) 是同步的(线程安全的); 不能有null键,也不能有null值,否则运行时出空指针异常; 基于陈旧的DictionaryK,V类 ,有contains() 方法,用于测试此映射表中是否存在指定值,等同于HashMap类中的containsVal
文档评论(0)