步步扎进java-集合之Map

    Map是从键到值的映射,键不允许重复,每个键最多能映射一个值。Map是一种把键对象和值对象进行关联的容器,而一个值对象又可以是一个Map,依次类推,这样就可形成一个多级映射。对于键对象来说,像Set一样,一个Map容器中的键对象不允许重复,这是为了保持查找结果的一致性;如果有两个键对象一样,那你想得到那个键对象所对应的值对象时就有问题了,可能你得到的并不是你想的那个值对象,结果会造成混乱,所以键的唯一性很重要,也是符合集合的性质的。当然在使用过程中,某个键所对应的值对象可能会发生变化,这时会按照最后一次修改的值对象与键对应。对于值对象则没有唯一性的要求。你可以将任意多个键都映射到一个值对象上,这不会发生任何问题。

    Map有两种比较常用的实现:HashMap和TreeMap。HashMap也用到了哈希码的算法,以便快速查找一个键,TreeMap则是对键按序存放,因此它便有一些扩展的方法,比如firstKey(),lastKey()等,你还可以从TreeMap中指定一个范围以取得其子Map。键和值的关联很简单,用pub(Object key,Objectvalue)方法即可将一个键与一个值对象相关联。用get(Objectkey)可得到与此key对象所对应的值对象。

Put Map中添加一个元素

Map是从键到值的映射,键不允许重复,每个键最多能映射一个值.

removeO key)按指定的可以删除kV

get()获取指定的key-value,若无则返回null

SetkeySet()

Collectionvalues()

1.遍历key

Setset=map.keyset();

For(Objectobj:set){

System.out.printin(obj);}

2.遍历Value

Collectionvalues=map.values();

Iteratori=values.iterator();

While(i.hasNext()){System.out.printin(i.next());}

3.如何遍历Key-Value

Setset1=map.keySet();

forObject obj:set1{

System.out.printin(obj+ "---->" +map.get(obj));

Setset2=map.entryset();

For(Objectobj:set2){

Map,entryentry=(Mao.Entry)obj;

System.out.printin(entry)

 

Publicclass test1(){

 

Mapmap=new HashMap();

Map.put("AA",123);

map.putnullnull);

map.putnew person(“DD”,23),89);

 

System.out.print(map.size());

 

    HashMap:

1.key是用Set来存放的,不可重复。value使用collection存放的,可重复。一个Key-Value对是一个Entry。所有的Entry是用Set来存放的也是不重复的。

2.HashMap中添加元素是会调用可以所在类的equals()方法,判断两个key是否相同,若相同则只能添加进后添加的那个元素。

 

LinkedHashMap  顺序跟添加进去的一致

使用连边维护添加进Map的舒新生,因此遍历Map的是按照添加的顺序遍历的。

 

    TreeMap按照添加进Map中的元素的key的指定属性进行排序;要求key必须是一个同一个来的对象.针对key进行自然排序VS定制排序

                               

Publicclass test(){

Mapmap=new TreeMap();

map.putnew person(“AA”,23),78);

map.putnew person(“BB”,22),89);

map.putnew person(“CC”,13),12);

map.putnew person(“DD”,23),45);

}

Hashtable不能存储null 古老的实现类,线程安全不建议使

Properties常用来处理属性文件,键值都为String类型

loadnew FileInputStreamnewFile(“”)))

 

操作CollectionMap的工具类,Collections

Reverse()List  翻转list中元素的顺序

shuffleList)随机排序

sortList)根据元素的自然顺序对指定的List集合按升序排序

sortList Comparator)而根据指定的Conaparetor产生的顺序对List进行集合元素排序

swapListintint)将指定的List集合中的i处元素和J出的元素交换

 

Listlist1=Array.aslist(new Object[list.size()])形成一个和list大小相等的list1

 

Collections类中提供多个Synchronized

安全性 Collection.SynchronizedListArrayList安全

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/z15732621582/article/details/53982443
上一篇步步扎进Java-异常处理
下一篇Razor视图引擎和HtmlHelper的使用意义
博主设置当前文章不允许评论。

易语言仿java集合 list map源码

2016年08月27日 10KB 下载

集合Map

2013年05月26日 26KB 下载

map,list转成json的工具类

2018年02月23日 2KB 下载

pb用的map对象

2014年01月10日 11KB 下载

截取字符串,放到map集合

2014年03月30日 1KB 下载

JavaScript视频教程全集

2018年03月08日 64B 下载

没有更多推荐了,返回首页

关闭
关闭