簡體   English   中英

Java 選擇基於 hashmap 密鑰的方法

[英]Java pick a method base on a hashmap key

我有一個關於在 java 中優化我的程序的問題。 現在我有一個工作 hashmap 並且我想找到一種方法來選擇基於 maps 鍵的方法。 本質上,我有一個包含 map 的 class ,並且每個可能的鍵都有一個 class 。 我只是要為每個可能的鍵創建一個 if 語句,如果 map 包含它,我會將鍵及其值發送到特定的 class 以執行一些代碼。 這會起作用,但感覺像是不好的做法,我的目標是在 java 中使用更好的做法,所以我想知道在沒有 if 語句的 janky 集群的情況下執行此操作的最佳方法是什么。

我不確定如何 go 關於這個也許我可以從主要的 class 擴展所有類並使用某種形式的方法重載但我認為只有在我遍歷映射值並將它們的鍵用作參數超載。

除了循環之外,我的另一個想法是將 map 發送到所有類,如果它們包含密鑰,如果不執行任何操作,則通過它。

這些方面的東西可能對你有用:

enum SampleClass {
    CLASS1, CLASS2, CLASS3
}
Map<SampleClass, Supplier<Boolean>> map = new HashMap<>();
map.put(CLASS1, () -> Class1.method("value1"));
map.put(CLASS2, () -> Class2.method("value2"));
map.put(CLASS3, () -> Class3.method("value3"));

boolean result = map.get(CLASS1).get();
class Class1 {
    public static boolean method(String value) {
        // ...
    }
}
// ... and so on for every class

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM