検索
ホームページJava&#&はじめるJavaのマッピングとは何ですか

Javaのマッピングとは何ですか

#セットは、既存の要素をすばやく見つけることができるコレクションです。ただし、要素を表示するには、探している要素の正確なコピーが必要です。コレクション内の要素を見つけるには常にコレクションを走査する必要があるため、これはあまり一般的な検索方法ではありません。多くの場合、あるキーに関する情報がわかっていて、それに対応する要素を見つけたいと考えます。地図データ構造はこの目的のために設計されています。マップはキーと値のペアを保存するために使用されます。キーが指定されている場合は、値を検索できます。それらの間には 1 対 1 の対応関係があります。

基本的なマッピング操作:

Java クラス ライブラリには、マッピング用の 2 つの一般的な実装、HashMap と TreeMap が用意されています。どちらも Map インターフェイスを実装します

HashMap はキーをハッシュし、TreeMap は要素をキーの全体的な順序で並べ替えて検索ツリーに編成します。

ハッシュ関数または比較関数はキーに対してのみ機能します。キーに関連付けられた値をハッシュしたり比較したりすることはできません。

セットと同様、ハッシュ マップはツリー マップよりもわずかに高速であるため、ソートされた順序でキーにアクセスする必要がない場合は、ハッシュ マップを使用するのが最善です。

OP->>キーと値のストレージを実行するには、put メソッドを使用する必要があります

OP->>キーと値のアクセスを実行するには、get メソッドを使用する必要があります値にアクセスするには

OP->>値が見つからないが空のオブジェクトを返したくない場合は、getOrDefault(var1,var2) を使用します。見つかった場合は、var2 を返します。

キーは一意でなければなりません。マッピングのペアで put メソッドが 2 回呼び出された場合、後の呼び出しで前の呼び出しが上書きされます。そして、最初の呼び出しの結果を返します

OP->>キーと値のペアを削除するには、remove(key) メソッドを使用します

OP->>キーと値のペアの数を指定するには、size() メソッドを使用します。

OP->>各キーと値を反復処理するには、forEach メソッドを使用するのが最善です。ラムダ式を指定できます。マップ内の各要素を順番に処理します。

scores.forEach((k,v)->System.out.println("key=" k ",value=" v));# と同様

##次のサンプル プログラムは、マッピング操作プロセスを示しています。まず、キーと値のペアがマッピングに追加されます。次に、キーがマップから削除され、それに対応する値も削除されます。次に、特定のキーに対応する値を変更し、get メソッドを呼び出してこの値を表示します。最後に、一連のエントリが繰り返し処理されます。

コード:

package Collection.Map;
 
import java.util.*;
 
public class MapTest {
public static void main(String[] args) {
Map<String,Employee> staff=new HashMap<>();
staff.put("144-25-5464", new Employee("Amy Lee"));
staff.put("567-24-2546", new Employee("Harry Hacker"));
staff.put("157-62-7935", new Employee("Gary Cooper"));
staff.put("456-62-5527", new Employee("Francesca Cruz"));
//打印所有成员
System.out.println(staff);
//删除某一成员
staff.remove("567-24-2546");
//替代一个成员
staff.put("456-62-5527", new Employee("Francesca Miller"));
//查看一个成员
System.out.println(staff.get("157-62-7935"));
//遍历映射
staff.forEach((k,v)->System.out.println("key="+k+",value="+v));
}
}
 
class Employee{
String name;
 
public Employee(String name) {
this.name = name;
}
 
public String toString() {
return "[name="+name+"]";
}
}

実行結果:

Javaのマッピングとは何ですか

次に、インターフェース Map でよく使用されるいくつかのメソッドとその説明を示します。 :

V get(Object key)

キーに対応する値を取得; キーに対応するオブジェクトを返す、またはキーに対応するオブジェクトがない場合は返すマッピング内のそのようなオブジェクトは null です。キーは null にすることもできます。

default V getOrDefault(Object key,V defaultValue)

キーに関連付けられた値を取得します。キーに関連付けられたオブジェクトを返します。キーが見つからない場合は、オブジェクトを返します。マップキーでは、defaultValue を返します。

V put(K key,V value)

キーと対応する値の関係をマップに挿入します。キーがすでに存在する場合、そのキーに対応する古いオブジェクトが新しいオブジェクトに置き換えられます。このメソッドは、キーに対応する古い値を返します。このキーが以前に出現したことがない場合は null を返します。キーは null にすることができますが、値は null にすることはできません。

void putAll(Map extends K,? extends V> events)

指定されたマップ内のすべてのエントリをこのマップに追加します。

boolean containsKey(Object key)

このキーがマップ内にすでに存在する場合は true を返します。

boolean containsValue(オブジェクト値)

この値がマッピングにすでに存在する場合は、true を返します。

default void forEach(BiConsumer super K,? super V> action)

このアクションをこのマップ内のすべてのキー/値に適用します。

HashMap クラスで一般的に使用されるメソッドは次のとおりです:

HashMap()

HashMap(intInitialCapacity)

HashMap (intInitialCapacity, floatloadFactor)

指定された容量とフィルファクターを使用して空のハッシュマップを構築します (フィルファクターは 0.0 から 1.0 までの値です。この値により、ハッシュ テーブルのフィル パーセンテージが決まります。これに達すると、比率を大きくするには、より大きなテーブルにハッシュする必要があります)。デフォルトのリロード係数は 0.75 です。

TreeMap クラスで一般的に使用されるメソッドは次のとおりです。

TreeMap()

を実装するキーを構築します。同等のインターフェイス 空のツリー マップ。

TreeMap(Comparator super K> c)

ツリー マップを構築し、指定されたコンパレータを使用してキーを並べ替えます。

TreeMap(Map extends K,? extends V> events)

ツリー マップを構築し、マップ内のすべてのエントリをツリー マップの中央に追加します。

TreeMap(SortedMap extends K,? extends V> エントリ)

指定された順序付きマップと同じコンパレータを使用して、特定の順序付きマップ内のすべてのエントリをツリー マップに追加するツリー マップを構築します。

SortedMap インターフェイスの重要なメソッドのいくつかを次に示します:

##Comparator super K> comparator()

Returnキーをソートするためのコンパレータ。 Comparable インターフェイスの comparaTo メソッドを使用してキーを比較すると、null が返されます。

K firstKey()

K lastKey()

マップ内の最小要素と最大要素を返します。

php 中国語 Web サイト、無料の

Java 入門チュートリアル が多数あり、オンラインで学習することを歓迎します。

以上がJavaのマッピングとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。