Java HashMapの詳しい説明とサンプルコード
java HashMap
/* * Map集合的特点 * 将键映射值的对象,一个映射不能包含重复的值;每个键最多只能映射到一个值 * * Map集合和Collection集合的区别? * Map集合存储元素是成对出现的,Map集合的键是唯一的,就是可重复的。可以把这个理解为:夫妻对 * Collection集合存储元素是单独出现的,Collection的儿子Set是唯一的,List是可重复的,可以把这个理解为:光棍 * * 注意: * Map集合的数据结构值针对键有效,限值无效 * Collection集合的数据结构是针对元素有效 * * Map集合的功能概述: * 1:添加功能 * V put(K key,V value);//添加元素 * 如果键是第一次存储,就直接存储元素,返回null * 如果键不是第一次存储,就用值把以前的值替换掉,返回以前的值 * * 2:删除功能 * void clear();//移除所有的键值对元素 * V remove(Object key);//根据键删除键值对元素,并把值返回 * * 3:判断功能 * boolean containsKey(Object key);//判断集合是否包含指定的键 * boolean containsValue(Object value);//判断集合是否包含指定的值 * boolean isEmpty();//判断集合是否为空 * * 4:获取功能 * set<Map,Entry<E,V>> entrySet();获取键值对的对象集合 * V get(Object key);//根据键获取值 * Set<K> keySet();//获取集合中所有键的集合 * Collection<V> values();//获取集合中所有值的集合 * * 5:长度功能 * int size();//返回集合中的键值对的对数 * */
Mapコレクションのトラバーサル
メソッド1、キーに基づいて値をクエリ
すべてのキーのセットを取得
キーのコレクションをトラバースし、各キーを取得
キーに基づいて値をクエリ
メソッド 2、キーと値のペア オブジェクトのキーと値をクエリすることに基づいています
すべてのキーと値のペア オブジェクトのコレクションを取得します
キーと値のペア オブジェクトのコレクションを走査し、各キーのオブジェクトを取得します。値のペア
キーと値のペアのオブジェクトに基づいてクエリ
方法 1、キーに基づいて値をクエリ
/* * Map集合的遍历,根据键查询值 * * 思路: * A:获取所有的键 * B:遍历键的集合,获取得到每一个键 * C:根据键查询值 * */
import java.util.HashMap; import java.util.Map; import java.util.Set; /* * Map集合的遍历,根据键查询值 * * 思路: * A:获取所有的键 * B:遍历键的集合,获取得到每一个键 * C:根据键查询值 * */ public class IntegerDemo { public static void main(String[] args) { // TODO Auto-generated method stub Map<String, String> map = new HashMap<String, String>(); map.put("hello", "world"); map.put("java", "c++"); map.put("sql", "os"); System.out.println(map); // A:获取所有的键 Set<String> set = map.keySet(); // B:遍历键的集合,获取得到每一个键 for (String key : set) { // C:根据键查询值 String value = map.get(key); System.out.println(key + "---" + value); } } }
方法 2、キーと値のペアのオブジェクトに基づいてキーと値をクエリ
/* * Map集合的遍历,根据对象查询键和值 * * 思路: * A:获取所有的键值对对象的集合 * B:遍历键值对对象的集合,得到每一个键值对的对象 * C:获取键和值 * */
import java.util.HashMap; import java.util.Map; import java.util.Set; /* * Map集合的遍历,根据对象查询键和值 * * 思路: * A:获取所有的键值对对象的集合 * B:遍历键值对对象的集合,得到每一个键值对的对象 * C:获取键和值 * */ public class IntegerDemo { public static void main(String[] args) { // TODO Auto-generated method stub Map<String, String> map = new HashMap<String, String>(); map.put("hello", "world"); map.put("java", "c++"); map.put("sql", "os"); System.out.println(map); // A:获取所有的键值对对象的集合 Set<Map.Entry<String, String>> set = map.entrySet(); // B:遍历键值对对象的集合,得到每一个键值对的对象 for (Map.Entry<String, String> me : set) { // C:获取键和值 String key = me.getKey(); String value = me.getValue(); System.out.println(key + "---" + value); } } }
/* * 1:HashMap和Hashtable的区别? * HashMap线程不安全,效率高,允许null键和null值 * Hashtable线程安全,效率低,不允许null键和null值 * * 2:List,Set,Map等接口是否都继承于Map接口? * List,Set不是继承自Map接口,它们继承自Collection接口 * Map接口本身就是一个顶层接口 * */ import java.util.HashMap; import java.util.Hashtable; public class IntegerDemo { public static void main(String[] args) { // TODO Auto-generated method stub HashMap<String, String> hm = new HashMap<String, String>(); Hashtable<String, String> ht = new Hashtable<String, String>(); hm.put("hello", "world"); hm.put("java", "c++"); hm.put(null, "sql"); ht.put("hello", "world"); ht.put("java", "c++"); ht.put(null, "sql");// Exception in thread "main" // java.lang.NullPointerException } }
読んでいただきありがとうございます、皆さんのお役に立てれば幸いです、皆さんありがとうございます このサイトからサポートしてください!
Java HashMap の詳細な説明とサンプル コード関連の記事については、PHP 中国語 Web サイトに注目してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

この記事では、2025年の上位4つのJavaScriptフレームワーク(React、Angular、Vue、Svelte)を分析し、パフォーマンス、スケーラビリティ、将来の見通しを比較します。 強力なコミュニティと生態系のためにすべてが支配的なままですが、彼らの相対的なポップ

この記事では、リモートコードの実行を可能にする重大な欠陥であるSnakeyamlのCVE-2022-1471の脆弱性について説明します。 Snakeyaml 1.33以降のSpring Bootアプリケーションをアップグレードする方法は、このリスクを軽減する方法を詳述し、その依存関係のアップデートを強調しています

node.js 20は、V8エンジンの改善、特により速いガベージコレクションとI/Oを介してパフォーマンスを大幅に向上させます。 新機能には、より良いWebセンブリのサポートと洗練されたデバッグツール、開発者の生産性とアプリケーション速度の向上が含まれます。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します

この記事では、キュウリの手順間でデータを共有する方法、シナリオコンテキスト、グローバル変数、引数の合格、およびデータ構造を比較する方法を調べます。 簡潔なコンテキストの使用、記述など、保守性のためのベストプラクティスを強調しています

この記事では、Lambda式、Streams API、メソッド参照、およびオプションを使用して、機能プログラミングをJavaに統合することを調べます。 それは、簡潔さと不変性を通じてコードの読みやすさと保守性の改善などの利点を強調しています

大規模な分析データセットのオープンテーブル形式であるIcebergは、データの湖のパフォーマンスとスケーラビリティを向上させます。 内部メタデータ管理を通じて、寄木細工/ORCの制限に対処し、効率的なスキーマの進化、タイムトラベル、同時wを可能にします
