日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 怎么用 string method return数量_java教程之Map应该怎么用

發布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 怎么用 string method return数量_java教程之Map应该怎么用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java教程之Map應該怎么用

在自學或者看java教程的時候,大家多多少少都存在著這樣或者那樣的疑惑,對于這些中軟國際小編一直也在整理,今天為大家獻上的是關于Map應該怎樣去用的一些方法,還是跟過去一樣,在這里,小編提供的希望大家把它看成是思路,在技術的道路上還是需要不斷的探索,自行研究才能最終體會到這門語言的偉大與迷人之處。

下面言歸正傳:

Map與Collection不同,Map中保存的是鍵值對,Key值不允許重復,而Collection中保存的是單個對象。Map接口中主要的方法有:

(1)V put(K key,V value)

該方法可以將key和value存到Map對象中。如果key已經存在,則被覆蓋,返回被覆蓋前的value。如果key不存在,則返回null。

(2)V get(Object key)

該方法可以根據key值返回對應的value。

(3)int size()

返回Map對象中鍵值對的數量。

(4)Set keySet()

將Map對象中的key值取出,返回到Set對象中。

(5)Collection values()

將Map對象中的value值取出,返回到Collection對象中。

Map是接口,無法直接實例化對象,所以要使用Map必須通過Map的實現類創建對象。下面介紹Map接口的4個主要實現類。

1)HashMap

HashMap是Map類的一個常用實現類,HashMap根據key值的hashCode和equals方法判斷其是否唯一,與HashSet中保證元素唯一性的方式相同,請參考HashSet章節。如下代碼所示:

package com.etc.chapter14;

import java.util.HashMap;

import java.util.Set;

public class TestHashMap {

publicstatic void main(String[] args) {

// TODO Auto-generated method stub

Player player1=newPlayer("110-999","Kate");

Player player2=newPlayer("110-888","Grace");

Team team1=new Team("China");

Team team2=new Team("USA");

HashMap map=newHashMap();

map.put(player1, team1);

map.put(player2, team2);

Set set=map.keySet();

for(Player p:set){

System.out.println(map.get(p).getName());

}}}

上述代碼中,首先使用HashMap存儲Player和Team之間的映射關系,使用put方法將兩對鍵值對存儲到了一個HashMap對象中。然后通過Map的keySet方法將Map的key值轉換為一個Set對象,進一步使用增強for循環,根據key值迭代所有value值。運行結果如下:

China

USA

2)TreeMap

TreeMap是Map的一個實現類,不僅能保證Key值唯一,還能根據key值進行排序。TreeMap的key必須實現Comparable接口,實現compareTo方法。TreeMap根據compareTo的邏輯,對key進行排序。具體方式與TreeSet的排序邏輯相同,請參考TreeSet章節。

修改key值的類型Player類,實現Comparable接口,覆蓋compareTo方法,如下代碼所示:

package com.etc.chapter14;

public class Player implementsComparable{

privateString id;

privateString name;

//省略其他代碼

public intcompareTo(Player arg0) {

// TODO Auto-generated method stub

return this.id.compareTo(arg0.id);

}}

上述代碼中,Player類實現了Comparable接口,覆蓋了compareTo方法,方法中根據Player的id值的字典順序進行比較。使用下面代碼測試:

package com.etc.chapter14;

public class TestTreeMap {

publicstatic void main(String[] args) {

Player player1=new Player("110-999","Kate");

Player player2=newPlayer("110-888","Grace");

Team team1=new Team("China");

Team team2=new Team("USA");

TreeMap map=newTreeMap();

map.put(player1, team1);

map.put(player2, team2);

Set set=map.keySet();

for(Player p:set){

System.out.println(map.get(p).getName());

}

}

}

上述代碼中將兩組鍵值對存儲到了一個TreeMap中,運行結果為:

USA

China

因為Player類的compareTo方法根據Player的id屬性的字典順序進行排序,所以TreeMap也根據Player的id屬性的字典順序排序。

3)Hashtable

Hashtable與Vector類似,也是一個“歷史悠久”的類。Hashtable是JDK1.0版本中就存在的類。目前Hashtable實現了Map接口。Hashtable的功能可以完全被HashMap替代,主要區別在于Hashtable是同步對象,而HashMap不是同步的。

4)Properties

Properites類是Hashtable類的子類,所以也間接地實現了Map接口。在實際應用中,常使用Properties類對屬性文件進行處理。該功能需要使用到IO包的API,IO相關知識點請參見IO章節。假設有如下屬性文件db.properties:

username=root

password=123

可以使用Properties對象的load方法,將屬性文件加載到Properties對象中,然后調用Properties對象的getProperty方法通過key值獲得對應的value值。如下代碼所示:

package com.etc.chapter14;

public class TestProperties {

public static void main(String[] args) {

Properties props=new Properties();

try {

props.load(new FileInputStream(newFile("db.properties")));

System.out.println(props.getProperty("username"));

System.out.println(props.getProperty("password"));

} catch (FileNotFoundException e) {

// TODOAuto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODOAuto-generated catch block

e.printStackTrace();

}}}

運行結果如下:

root

123

Map接口的主要實現類有HashMap、TreeMap、Hashtable、Properties。Map中的key值不能重復,其中TreeMap的key值不僅不重復,而且能根據key值排序。Hashtable類可以完全被HashMap類替代,唯一區別在于Hashtable類是同步的。Properties類主要用于處理屬性文件。

好了,這次的內容不知道大家看了以后有沒有更加清晰明了一點呢,如果沒有,點擊官網看更多關于java教程的詳細講解吧。

java教程http://csetc.chinasofti.com/ java教程

總結

以上是生活随笔為你收集整理的java 怎么用 string method return数量_java教程之Map应该怎么用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。