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类的子类 是一个先进后出的栈结构