国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

java JAVA中幾種集合(List、Set和Map)的區(qū)別?

JAVA中幾種集合(List、Set和Map)的區(qū)別?Java中的集合包括三大類,它們是Set、List和Map。它們都處于java.util包中,Set、List和Map都是接口。Set中的對(duì)象不按

JAVA中幾種集合(List、Set和Map)的區(qū)別?

Java中的集合包括三大類,它們是Set、List和Map。它們都處于

java.util

包中,Set、List和Map都是接口。Set中的對(duì)象不按特定方式排序,并且沒有重復(fù)對(duì)象。但它的有些實(shí)現(xiàn)類能對(duì)集合中的對(duì)象按特定方式排序,例如TreeSet類,它可以按照默認(rèn)排序,也可以通過實(shí)現(xiàn)

java.util.Comparator

接口來自定義排序方式。List中的對(duì)象按照索引位置排序,可以有重復(fù)對(duì)象,允許按照對(duì)象在集合中的索引位置檢索對(duì)象,如通過list.get(i)方式來獲得List集合中的元素。Map中的每一個(gè)元素包含一個(gè)鍵對(duì)象和值對(duì)象,它們成對(duì)出現(xiàn)。鍵對(duì)象不能重復(fù),值對(duì)象可以重復(fù)。Map的功能方法 :  方法put(Object key, Object value)添加一個(gè)“值”(想要得東西)和與“值”相關(guān)聯(lián)的“鍵”(key)(使用它來查找)。方法get(Object key)返回與給定“鍵”相關(guān)聯(lián)的“值”??梢杂胏ontainsKey()和containsValue()測試Map中是否包含某個(gè)“鍵”或“值”。標(biāo)準(zhǔn)的Java類庫中包含了幾種不同的Map:HashMap, TreeMap, LinkedHashMap, WeakHashMap, IdentityHashMap。它們都有同樣的基本接口Map,但是行為、效率、排序策略、保存對(duì)象的生命周期和判定“鍵”等價(jià)的策略等各不相同。執(zhí)行效率是Map的一個(gè)大問題??纯磄et()要做哪些事,就會(huì)明白為什么在ArrayList中搜索“鍵”是相當(dāng)慢的。而這正是HashMap提高速度的地方。HashMap使用了特殊的值,稱為“散列碼”(hash code),來取代對(duì)鍵的緩慢搜索。“散列碼”是“相對(duì)唯一”用以代表對(duì)象的int值,它是通過將該對(duì)象的某些信息進(jìn)行轉(zhuǎn)換而生成的。所有Java對(duì)象都能產(chǎn)生散列碼,因?yàn)閔ashCode()是定義在基類Object中的方法。