マップ:キーと値(キーが一意である必要があり、マップの比較によって同じキーのうちのいずれか2つが偽にメソッドの戻りに等しい)(:データマッピング関係を有し、したがって、そこにマップを設定値の二組である格納するキー値としています基準データの任意のタイプであってもよいです)
地図インタフェース有する下:
HashMapの、のLinkedHashMap、のSortedMap(インターフェイス)、TreeMapの、EnumMap他のサブインターフェースと実装クラス。
類似地図のリスト:;再利用可能な要素の間に、インデックスを見つけることができます
地図の一覧とは異なります。地図インデックスキーの整数値は使用されなくなりましたが、される指標として別のオブジェクトへ。-時々 、地図**「辞書」**または連想配列と呼ばれます。
A、HashMapの実装クラス
keySet: - >のkeySet()メソッドは、すべてのキーの出力一斉に地図キーセット、彼らはセットセット(非再現性、シーケンシャルではない)を形成します
トラバーサルの地図:キーを横断することにより、すべてのキーと値のペアを通じて達成するために
import java.util.*;
public class MapTest
{
public static void main(String[] args)
{
var map = new HashMap();//HashMap实现类
//key-value
map.put("你好",10);
map.put("我好",30);
map.put("他好",58);
map.put("大家好",58);//value可重复
//输出Map集合包含的key-value对
System.out.println(map);
//用新的value覆盖原有的value,则put()方法会返回被覆盖的value
System.out.println(map.put("你好",90));//输出10
//判断是否包含指定的key或value
System.out.println("是否包含值为:他好 的key?"+ map.containsKey("他好"));
System.out.println("是否包含值为:58 的value?"+ map.containsValue(58));
//通过foreach循环遍历出所有key。只能通过遍历key来实现遍历key-value对
//而一般的对象可以直接遍历对象本身,如:for(var a: apple)
for(var key:map.keySet())//keySet方法:返回Map中所有key组成的set集合
{
System.out.println(key +"——>"+map.get(key));
//get(key)用于返回指定key所对应的value
}
//根据key来删除key-value对
map.remove("大家好");
System.out.println(map);
}
}
二、のLinkedHashMap実装クラス
HashMapの、キーと値のペアの順序を維持するために使用される二重リンクリストのサブクラスです。
機能:のLinkedHashMapは、キーと値の添加順序、および覚えることができるためトラバーサルで出力を。
HashMapのは、それがセットコレクション内のキーで、順番を覚えていないことができます。
import java.util.*;
public class LinkedHashMapTest
{
public static void main(String[] args)
{
var scores = new LinkedHashMap();
var s = new HashMap();
scores.put("语文",80);
scores.put("数学",90);
scores.put("英语",60);
s.put("语文",80);
s.put("数学",90);
s.put("英语",60);
//遍历方法一:通过forEach()方法遍历scores里的所有key-value对
System.out.println("LinkedHashMap:");
scores.forEach((key,value) -> System.out.println(key + "-->" + value));
System.out.println("HashMap:");
s.forEach((key,value) -> System.out.println(key + "-->" + value));
//遍历方法二:通过foreach
System.out.println("第二种遍历方法:");
System.out.println("LinkedHashMap:");
for(var key:scores.keySet())//keySet方法:返回Map中所有key组成的set集合
{
System.out.println(key +"——>"+scores.get(key));
//get(key)用于返回指定key所对应的value
}
System.out.println("HashMap:");
for(var key:s.keySet())//keySet方法:返回Map中所有key组成的set集合
{
System.out.println(key +"——>"+s.get(key));
//get(key)用于返回指定key所对应的value
}
}
}