Java泛型集合框架笔记

Map

创建方法

Map<key, value> map = new HashMap<>();       //无序,散列表
Map<key, value> map = new LinkedHashMap<>(); //根据插入顺序排列
Map<key, value> map = new TreeMap<>();       //有序

常用方法

插入元素:Object put(Object key, Object val)

获取键值对应的值:Object get (Object key)

删除对应键值的元素:Object remove (Object key)

是否存在该键值:boolean containsKey (Object key)

返回键值的集合:Set keySet ();

Set<key> ks = map.keySet();

返回值的集合:Collection values ()

List<value> vl = new ArrayList<value>(map.values());
//以下为错误示范,因为values返回的是一个Collection集合,在向下转换时遇到了错误
List<String> vl = (List<String>) map.values(); 

Map的遍历

//以Map<String, String>为例
//第一种:通过keyset遍历,效率较低
  for (String key : map.keySet()) {
      System.out.println("key= "+ key + " and value= " + map.get(key));    
  }
  //第二种:使用entryset遍历
  Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();    
  while (it.hasNext()) {    
      Map.Entry<String, String> entry = it.next();    
      System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
  }
  //第三种:使用entryset遍历(简化版) 推荐 速度快
  for (Map.Entry<String, String> entry : map.entrySet()) {    
      System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());    
  }
  //第四种通过Map.values()遍历所有的value,但不能遍历key
  for (String v : map.values()) {    
      System.out.println("value= " + v);    
  }

说明

Map.Entry是Map的内部类,它用来描述Map中的键/值对
常用方法:getKey()、getValue()
Map根据键值修改value的方法:再次put把原来的覆盖即可,因为map不存在重复的键值

Set

创建方法

Set<Integer> set = new HashSet<>(); //非排序,不能有重复值,可以随机访问,性能最好
Set<Integer> set = new TreeSet<>(); //排序,不能有重复元素

Set的遍历

//使用迭代器进行遍历
Iterator<Integer> it = set.iterator();
while (it.hasNext())
    System.out.println(it.next());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值