第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用HashSet中的contains方法比較java中的Map

使用HashSet中的contains方法比較java中的Map

胡子哥哥 2021-10-06 09:37:13
我正在為 n-puzzle 實現(xiàn)幾個求解器(BFS 和 A*)。我正在使用 HashSet 來維護封閉列表,因為 contains 方法的時間為 O(1)。我的HashSet是一組HashMap(整數(shù)轉(zhuǎn)整數(shù)),所以想看看HashSet是否包含指定的map。如果 HashSet 的名稱是set,而 HashMap 的名稱是map,是否足夠?qū)懀簊et.contains(map);檢查鍵和值是否map與集合中的任何映射的鍵和值匹配?如果沒有,map根據(jù)地圖列表檢查值的最快方法是什么?我還嘗試創(chuàng)建一個地圖列表,然后使用地圖的 equals 方法來比較列表中的每個地圖,但隨著封閉列表的大小增加,它似乎太慢了。
查看完整描述

1 回答

?
交互式愛情

TA貢獻1712條經(jīng)驗 獲得超3個贊

是的,您可以使用它contains()來查看像給定Map對象這樣的對象是否在Set您擁有的內(nèi)部。該contains()方法將使用equals()方法進行比較的對象,和equals()的方法HashMap被定義如下:


比較指定對象與此映射是否相等。返回true如果給定對象也是一個映射并且兩個映射表示相同的映射。更正式地說,兩個映射m1和m2表示相同的映射,如果m1.entrySet().equals(m2.entrySet())。這確保了 equals 方法可以在Map接口的不同實現(xiàn)中正常工作。


請參閱以下示例源代碼:


import java.util.Map;

import java.util.Set;

import java.util.HashMap;

import java.util.HashSet;


public class Test {

    public static void main(String[] args) {


        Set<Map<Integer, Integer>> sets = new HashSet<Map<Integer, Integer>>();

        Map<Integer, Integer> m1 = new HashMap<Integer, Integer>();

        m1.put(1, 4);

        m1.put(2, 3);

        sets.add(m1);

        Map<Integer, Integer> m2 = new HashMap<Integer, Integer>();

        m2.put(1, 4);

        m2.put(6, 7);

        sets.add(m2);

        System.out.println(sets);


        Map<Integer, Integer> m3 = new HashMap<Integer, Integer>();

        System.out.println(m3+" | "+sets.contains(m3));

        m3.put(6, 7);

        System.out.println(m3+" | "+sets.contains(m3));

        m3.put(1, 4);

        System.out.println(m3+" | "+sets.contains(m3));

    }

}

這將生成以下輸出:


[{1=4, 2=3}, {1=4, 6=7}]

{} | false

{6=7} | false

{1=4, 6=7} | true

您會在最后看到該contains()方法將返回,true因為它與Map您的Set.


查看完整回答
反對 回復(fù) 2021-10-06
  • 1 回答
  • 0 關(guān)注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號