Java学习笔记之HashMap、TreeMap以及LinkedHashMap

HashMap

HashMap中的元素是无序的。

新建:

HashMap<String, String> hashmap= new HashMap<String, String>();

常用方法:

参考java学习小结1.

遍历方式:

for(String str : hashmap.keySet()){
    int value = hashmap.get(str);
    System.out.println(value);
}

TreeMap

TreeMap中的元素默认按照keys的自然排序排列。

新建:

TreeMap<Integer, String> treeMap = new TreeMap<>();

常用方法:

增添元素:

V put(K key, V value):将指定映射放入该TreeMap中。

V putAll(Map map):将指定map放入该TreeMap中。

删除元素:

void clear():清空TreeMap中的所有元素。

V remove(Object key):从TreeMap中移除指定key对应的映射。

修改元素:

V replace(K key, V value):替换指定key对应的value值。

boolean replace(K key, V oldValue, V newValue):当指定key的对应的value为指定值时,替换该值为新值。

查找元素:

boolean containsKey(Object key):判断该TreeMap中是否包含指定key的映射。

boolean containsValue(Object value):判断该TreeMap中是否包含有关指定value的映射。

Map.Entry<K, V> firstEntry():返回该TreeMap的第一个(最小的)映射。

K firstKey():返回该TreeMap的第一个(最小的)映射的key。

Map.Entry<K, V> lastEntry():返回该TreeMap的最后一个(最大的)映射。

K lastKey():返回该TreeMap的最后一个(最大的)映射的key。

v get(K key):返回指定key对应的value。

SortedMap<K, V> headMap(K toKey):返回该TreeMap中严格小于指定key的映射集合。

SortedMap<K, V> subMap(K fromKey, K toKey):返回该TreeMap中指定范围的映射集合(大于等于fromKey,小于toKey)。

遍历接口:

Set<Map<K, V>> entrySet():返回由该TreeMap中的所有映射组成的Set对象。

void forEach(BiConsumer<? super K,? super V> action):对该TreeMap中的每一个映射执行指定操作。

Collection values():返回由该TreeMap中所有的values构成的集合。

其他方法:

Object clone():返回TreeMap实例的浅拷贝。

Comparator<? super K> comparator():返回给该TreeMap的keys排序的comparator,若为自然排序则返回null。

int size():返回该TreepMap中包含的映射的数量。

遍历方式:

for循环
for (Map.Entry entry : treeMap.entrySet()) {
      System.out.println(entry);
}
迭代器循环
Iterator iterator = treeMap.entrySet().iterator();
while (iterator.hasNext()) {
      System.out.println(iterator.next());
}

LinkedHashMap

LinkedHashMap的元素是按照元素插入顺序排列的。

新建:

 LinkedHashMap<String, String> linkedHashMap = new LinkedHashMap<String, String>();

常用方法:

clear():从此映射中删除所有映射。

containsValue(Object value):果此映射将一个或多个键映射到指定值,则返回true。(如果存在value值,则返回true)

get(Object key):回指定键映射到的值,如果此映射不包含键的映射,则返回null。

其他方法:

其他方法诸如put、remove方法LinkedHashMap没有重写,所以可以通过调用父类HashMap的put、remove方法来实现。(参考java学习小结1)

遍历方式:

for循环

 for(Map.Entry<String, String> entry : linkedHashMap.entrySet()) {
     System.out.println("key:" + entry.getKey() + "   value:" + entry.getValue());
 }

迭代器循环:

while (it.hasNext()) {
    Map.Entry entry = (Map.Entry) it.next();
    System.out.println("key:" + entry.getKey() + "   value:" + entry.getValue());
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值