集合的存与取3
Posted lxc127136
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合的存与取3相关的知识,希望对你有一定的参考价值。
一、map集合的特点:
1.map集合是一个双列集合,一个元素包含二个值(key,values);
2.map集合中的元素,key和values的数据类型可以相同,也可以不同;
3.map集合中的元素,key值不可以重复,values值是可以重复的
4.map集合中的元素,key值和values值是一一对应的;
二、hashMap 集合的特点:
1.hasMap集合底层是哈希表,查询速度特别快;
2.hasMap集合是一个无序的集合,存储元素和取出元素的顺序可能不一致;
三、linkedhashMap的特点;
1.linkedhashMap集合底层是哈希表+链表(保证迭代顺序)
2.linkedhashMap集合是一个有序的集合,存储元素和取出元素的顺序是一致的;
四,map集合的存与取
public class MapDemo { public static void main(String[] args) { //创建Map对象 Map<String, String> map = new HashMap<String,String>(); //给map中添加元素 map.put("邓超", "孙俪"); map.put("李晨", "范冰冰"); map.put("刘德华", "柳岩"); //获取Map中的所有key与value的对应关系 Set<Map.Entry<String,String>> entrySet = map.entrySet(); //遍历Set集合 Iterator<Map.Entry<String,String>> it =entrySet.iterator(); while(it.hasNext()){ //得到每一对对应关系 Map.Entry<String,String> entry = it.next(); //通过每一对对应关系获取对应的key String key = entry.getKey(); //通过每一对对应关系获取对应的value String value = entry.getValue(); System.out.println(key+"="+value); } } }
五、hasmap自定义存储
public class Student { private String name; private int age; //编写构造方法,省略 //编写get,set方法,省略 //编写toString方法,省略 }
public class HashMapTest { public static void main(String[] args) { //1,创建hashmap集合对象。 Map<Student,String> map = new HashMap<Student,String>(); //2,添加元素。 map.put(new Student("lisi",28), "上海"); map.put(new Student("wangwu",22), "北京"); map.put(new Student("zhaoliu",24), "成都"); map.put(new Student("zhouqi",25), "广州"); map.put(new Student("wangwu",22), "南京"); //3,取出元素。键找值方式 Set<Student> keySet = map.keySet(); for(Student key : keySet){ String value = map.get(key); System.out.println(key.toString()+"....."+value); } //取出元素。键值对方式 Set<Map.Entry<Student, String>> entrySet = map.entrySet(); for (Map.Entry<Student, String> entry : entrySet) { Student key = entry.getKey(); String value = entry.getValue(); System.out.println(key.toString()+"....."+value); } } }
①当给HashMap中存放自定义对象时,如果自定义对象作为key存在,这时要保证对象唯一,必须重写对象的hashCode和equals方法(如果忘记,请回顾HashSet存放自定义对象)。
②如果要保证map中存放的key和取出的顺序一致,可以使用LinkedHashMap集合来存放。
以上是关于集合的存与取3的主要内容,如果未能解决你的问题,请参考以下文章