|
|
2021-11-10 tarihinde yayınlandı 17:39:42
|
|
|
|

Çift veya çift, basit anahtar-değer çağrışımlarını yönetmek için kullanışlı bir yol sunar; bu özellikle, bir metoddan iki değer döndürmek istediğimizde faydalıdır. JDK, dahili sınıflarla birlikte gelir: AbstractMap.SimpleEntry ve AbstractMap.SimpleImmutableEntry
1. SimpleEntry, soyut sınıf AbstractMap'te tanımlanmıştır ve yapım yöntemi Pair'e benzerdir.
2. AbstractMap sınıfı ayrıca değişmez bir çifti temsil eden iç içe bir sınıf içerir: SimpleImmutableEntry sınıfı.
/** * Değişmez anahtar ve değeri koruyan bir Giriş. Bu sınıf * <tt>setValue</tt> metodunu desteklemez. Bu sınıf * iş parçacığı güvenli anlık görüntülerini döndüren yöntemlerde uygundur * anahtar-değer eşlemeleri. * * @since 1.6 */ public statik sınıf SimpleImmutableEntry<K,V> implements Entry<K,V>, java.io.Serializable { özel statik son uzun seriVersionUID = 7138329143949025153L;
özel son K tuşu; özel son V değeri;
/** * Belirlenen haritadan bir eşlemeyi temsil eden bir giriş oluşturur * belirtilen değere anahtar. * * @param bu girişte temsil edilen anahtarı tuşla * @param bu girişin temsil ettiği değeri */ public SimpleImmutableEntry(K key, V value) { this.key = anahtar; this.value = değer; }
/** * Aynı eşlemeyi temsil eden bir giriş oluşturur * belirtilen giriş. * * @param kopyalamak için girişi */ public SimpleImmutableEntry(Entry<? extend K, ? extend V> entry) { this.key = entry.getKey(); this.value = entry.getValue(); }
/** * Bu girişe karşılık gelen anahtarı döndürür. * * @return bu girişe karşılık gelen anahtarı */ public K getKey() { dönüş anahtarı; }
/** * Bu girişe karşılık gelen değeri döndürür. * * @return bu girişe karşılık gelen değeri */ public V getValue() { iade değeri; }
/** * Bu girişe karşılık gelen değeri belirtilen değerle değiştirir * değeri (isteğe bağlı işlem). Bu uygulama sadece * <tt>Desteklenmeyen OperationException</tt>, bu sınıfın uyguladığı gibi * <i>değişmez</i> bir harita girişi. * * @param bu girişte saklanacak yeni bir değer * @return (Geri dönmez) * @throws Her zaman desteklenmemişOperationException */ public V setValue(V value) { yeni Desteklenmeyen OperationException() atıyor; }
/** * Belirtilen nesneyi eşitlik için bu girdi ile karşılaştırır. * Dönüşler {@codetrue} olarak verilen nesne aynı zamanda bir harita girişi ise ve * iki giriş aynı eşlemeyi temsil eder. Daha resmi olarak, iki * {@code e1} ve {@code e2} girişleri aynı eşlemeyi temsil eder *eğer<pre> * (e1.getKey()==null ? * e2.getKey()==null : * e1.getKey().equals(e2.getKey())) * && * (e1.getValue()==null ? * e2.getValue()==null : * e1.getValue().equals(e2.getValue()))</pre> * Bu, {@code eşit} yönteminin doğru şekilde çalışmasını sağlar * {@code Map.Entry} arayüzünün farklı uygulamaları. * * @param o nesne, bu harita girişiyle eşitlik için karşılaştırılacak * @return {@code true} eğer belirtilen nesne bu haritaya eşitse *giriş * @see #hashCode */ public boolean equals(Object o) { if (!( o instanceof Map.Entry)) yanlış döndür; Harita.Giriş<?,?> e = (Harita.Giriş<?,?>)o; return eq(key, e.getKey()) && eq(value, e.getValue()); }
/** * Bu harita girişi için hash kod değerini döndürür. Hash kodu * bir harita girişinin {@code e} olarak tanımlanır: <pre> * (e.getKey()==null ? 0 : e.getKey().hashCode()) ^ * (e.getValue()==null ? 0 : e.getValue().hashCode())</pre> * Bu, {@code e1.equals(e2)} ile şu anlamına gelir ki * {@code e1.hashCode()==e2.hashCode()} herhangi iki Giriş için * {@code e1} ve {@code e2}, genel olarak gerekenle * { sözleşmesi@linkObject#hashCode}. * * @return bu harita girişi için hash kod değeri * @see #equals */ public int hashCode() { return (key == null ? 0 : key.hashCode()) ^ (value == null ? 0 : value.hashCode()); }
/** * Bu harita girişinin String temsili döndürür. Bu * uygulama bu dizinin temsilini döndürür * giriş anahtarı ve ardından eşit karakteri ("<tt>=</tt>") * ardından bu giridin değerinin dizi temsili gelir. * * @return bu harita girişinin bir String temsili */ public String toString() { return anahtarı + "=" + değer; }
} SimpleImmutableEntry, değeri değiştirmeye çalışırsa java.lang atar, setValue metodunu çağırır.DesteklenmemişOperationExceptionAnormal.
Kod:
|
Önceki:Java, savaş paketinin yapılandırma dosyasını değiştirirÖnümüzdeki:Docker kullanarak Elasticsearch servisini dağıtın
|