java面试题总结 中Hashtable HashMap TreeMap有啥区别

1.理解Map类相关类似整体结构,尤其是有序数据结构的一些要点.
Map

public V get(Object key)**获取key对应的value**
public Set <K>keySet(V key)
public Set<Map.Entry.<K,V>>EntrySet()**map转换成set 集合**

如果出现重复的key 会用后背出现的替换前面的.
HashTable都是依靠map接口操作 但是HashTable中key和value都不允许空 同步处理 线程安全的操作
HashMap可以. 且异步处理性能高 但是非线程安全的操作
TreeMap可以根据key进行排序 她同样也是Compareble接口的子类
通常场景是放入,访问或者删除,而对顺序没有特别要求,hashmap在这种情况下基本是最好的选择,HashMap的性能表现非常依赖于哈希码的有效性,请务必掌握hashCode和equals的一些基本约定 必须覆写hashcode和equals两个方法 key最好都要用string 和integer类型 不用在覆写这两方法
比如:equals相等,hashcode一定要相等
重写了hashCode也要重写equals
hashCode需要保持一致性,状态改变返回的哈希值冷然要一致.
equals 的对称,反射,传递等特性.
LinkedHashMap和TreeMap都可以保证某种顺序,但二者还是非常不同的.这里写图片描述

Map<Integer,String> map=new HashMap<Integer,String> ();
map.put(3,"狗");
map.put(6,"猫");
map.put(5,"豆包:);
Set<Integer,String> set=map.entrySet();
Iterator<Map.Entry<K,V>> iter=set.iterator();
while(iter.hasNext()){
Map.Entry<K,V> me=iter.next();
System.out.println(me.getKey()+"="+me.getValue());
}
}

collectons.addAll()
collections.reverse()
集合的一个操作类 可以操作list set
collection 是集合操作的父接口
stack vector类的子类 是一个先进后出的栈结构

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值