集合学习(二)

Map集合:
接口Map<K,V>
特点:
1.存储键值对,要保证键的唯一性
3.有添加,删除,判断,获取的方法


HashTable:底层是哈希表结构,不能存入null键和null值,该集合是同步的,JDK1.0,效率低
HashMap:底层是哈希表结构,运行使用null键null值,该集合是不同步,JDK1.2,效率高
TreeMap:底层是二叉树,线程不同步,可以用于给map集合中的键进行排序


Set底层就是使用了Map集合


键要实现hashCode和equals方法


put方法添加元素,如果添加的键不存在,返回null,如果存在,则当前的覆盖以前的值,并返回以前的值


map的两种取出方法:
1.将map中所有的键值存入set集合中,因为set具备迭代器,set泛型对象是键的对象
所以可以用set的迭代器取出所有的键,再根据get方法获取每一个键对应的值


Set<String> keySet = map.keySet();//获得键的set
for(Iterator<String> it = keySet.iterator();it.hasNext();){
String key = it.next();
System.out.println("key:"+key);
System.out.println("value"+map.get(key));
}


2.set<Map.Entry<K,V>> entrySet() 返回键值对应的映射关系的set集合
Set<Map.Entry<String,String>> entrySet = map.entrySet();
for (Iterator<Map.Entry<String,String>> it = entrySet.iterator;it.hasNext();)
{
Map.Entry<String,String> entry = it.next();
System.out.println("key"+entry.getKey():"value"+entry.getValue());
}


HashMap自定义对象,对象要实现hashCode和equals方法,
TreeMap自定义对象,对象可继承Comparable接口排序,实现compareTo方法,也可以自定义类实现Comparator,在TreeMap的构造函数中初始化时。new TreeMap<Student stu>(MyCompara)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值