映射map

接口

注意: Map.Entry<K,V> 这个接口。三个方法getKey() getValue() setValue() hashCode()
Map的方法:keySet() entrySet() values()
put()----putAll()   get() containsKey() containsValue()

类架构

两个通用的实现:HashMap和TreeMap
区别:TreeMap有顺序:按照键的整体顺序对元素进行排序;HashMap的速度稍快;TreeMap的构造
注意:
对同一个键两次使用Put,第二个值会覆盖第一个值。
三个视图:
keySet() values() entrySet();不能利用keySet来只加键,不加value,如果keySet调用add()方法,将会抛出一个UnsupportedOperationException。

几个特殊的Map

WeakHashMap:解决     如果有一个值对应的键已经不再使用了的情况。

linkedHashSet  记录插入顺序
linkedHashMap:使用访问顺序,来记录:每次调用getset将受影响的条目从当前的位置删除,并放到条目链表的尾部---------“访问顺序”对于实现“最近最少使用”原则十分重要
当限制Map大小时,有一个重要需要覆盖的方法,就是removeEldstEntry()

EnumSet的建立:调用静态工厂方法
EnumMap: EnumMap<WeekDay,EmPloy> personInCharge = new EnumMap<Weekday,Employee>(weekday.class);

集合框架

RandomAccess用来检测一个特定的集合是否支持高效的随机访问。

视图的概念  keySet

包装器

ARRAY类提供了动态创建和访问 Java 数组的方法。 newInstance(Class<?> componentType, int length)
ARRAYS此类包含用来操作数组(比如排序和搜索)的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂。Arrays.asList()	
注意:asLIst()方法返回的是一个视图,只能GEtSet不嗯能够改变大小如Remove,Add() 
 
 
Collections类:
nCopies(n,anObject); 返回一个不可修改的LIst接口对象
singleton(anObject);返回一个Collection接口对象。
singleMap()

子范围

sublist 
subSet headSet tailSet()
subMap()
headMap()
tailMap()

不可修改视图

Collections.unmodifiableCollection()     unmodifiableSet() unmodifiableList()

同步视图

SynChronizedSet SynChronizedMap SynChronizedList

被检查视图

向LIst<Student>中加入teacher对象时,不会报错,Checked视图就会报错。

批操作

addAll removeAll retainAll()

集合数组之间的转换

1  String values=....... 
     HashMap<String> staff = new HashMap<String> (Arrays.asList(values));
2  错误:String[] values = staff.toAaary()   返回的是Object[]
正确 : String[] values = staff.toArray(new String[0])或者String[] values = staff.toArray(String.class)




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值