大家好,今天小编关注到一个比较有意思的话题,就是关于java语言map的问题,于是小编就整理了3个相关介绍Java语言map的解答,让我们一起看看吧。
j***a中map怎么输出?
Map的一般用法 1.声明一个Map: Mapmap=newHashMap()
; 2.向map中放值,注意:map是key-value的形式存放的,如: map.put(34;sa","dd")
; 3.从map中取值: Stringstr=map.get("sa").toString, 结果是:str="dd' 4.遍历一个map,从中取得key和value: Mapm=newHashMap(); for(Objectobj:map.keySet()){ Objectvalue=map.get(obj); }
j***a中map和list的区别?
1、J***a中的集合包括三大类,它们是Set、List和Map,它们都处于j***a.util包中,Set、List和Map都是接口,它们有各自的实现类。Set的实现类主要有HashSet和TreeSet,List的实现类主要有ArrayList,Map的实现类主要有HashMap和TreeMap。
2、List中的对象按照索引位置排序,可以有重复对象,允许按照对象在***中的索引位置检索对象,如通过list.get(i)方式来获得List***中的元素。List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于J***a的数组。List允许有相同的元素。实现List接口的常用类有LinkedList,ArrayList,Vector和Stack。
3、Map中的每一个元素包含一个键对象和值对象,它们成对出现。键对象不能重复,值对象可以重复。Map提供key到value的映射。一个Map中不能包含相同的key,每个key只能映射一个value。Map接口提供3种***的视图,Map的内容可以被当作一组key***,一组value***,或者一组key-value映射。
为什么j***a中声明多用Map,List而不是具体实现类型?
首先Map和List是接口,List的实现类常用的有ArraryList,LinkedList还有一些其他用于特殊场景的实现类比如CopyOnWriteArrayList,***如有一种场景我需要先定义一个List用作返回但是不知道用哪一个这个时候可以先定义List list=null;接下来按照需要去创建。还有一种情况我们要把原来的ArraryList改为LinkedList我们之后只需要修改后面就可以了。在实际运用中经常遇到多个类实现同一个接口这个时候用这种方式创建对象会很方便并且扩展性也好,建议看看设计模式你会理解有些场景用它会更有益处。
至于为什么用Map实现,个人理解,是为了利用Map的Key不能重复, 来实现 Set的值不重复。
可以看到HashSet的add方法利用的HashMap的put方法,只不过是把值当做了 HashMap中的Key
而put的Value直接定义了一个空对象
到此,以上就是小编对于j***a语言map的问题就介绍到这了,希望介绍关于j***a语言map的3点解答对大家有用。