gpt4 book ai didi

java - 将 enum 分成 2 个不同的 HashMap

转载 作者:行者123 更新时间:2023-12-01 20:51:20 26 4
gpt4 key购买 nike

我有一个 Type 枚举来区分网络类型和移动设备类型:

WEB_TYPE1("T1", "Web Type 1"),
WEB_TYPE2("T2", "Web Type 2"),
MOBILE_TYPE1("T3", "Mobile Type 1"),
MOBILE_TYPE2("T4", "Mobile Type 2");

我想将两者分成 2 个不同的 HashMap:

Map<String, String> webMap = new HashMap<>();
Map<String, String> mobileMap = new HashMap<>();

我能够循环遍历整个枚举并将其放入 1 个映射中,但无法将其分离出来,我应该如何将其分离为 2 个不同的映射?我想知道我是否喜欢:

WEB_TYPE1("T1", "Web Type 1", **"web"**),
WEB_TYPE2("T2", "Web Type 2", **"web"**),
MOBILE_TYPE1("T3", "Mobile Type 1", **"mobile"**),
MOBILE_TYPE2("T4", "Mobile Type 2", "mobile");

最佳答案

你可以这样做:

1.- 创建您的枚举2.- 迭代您的枚举并使用startswith或正则表达式进行验证(在我的例子中我使用startsWith)3.- 获得答案后,​​将其添加到您的 hashMap 中4.-看这个

import java.util.HashMap;
import java.util.Map;

enum Type {
WEB_TYPE1("T1", "Web Type 1"),
WEB_TYPE2("T2", "Web Type 2"),
MOBILE_TYPE1("T3", "Mobile Type 1"),
MOBILE_TYPE2("T4", "Mobile Type 2");

private String type;
public String getType() {
return type;
}


public String getName() {
return name;
}


private String name;


Type(String type,String name) {
this.type = type;
this.name = name;
}

}
public class SeparateHash {

public static void main(String[] args) {
Map<String, String> webMap = new HashMap<>();
Map<String, String> mobileMap = new HashMap<>();
for (Type status : Type.values()) {
System.out.println(status);
if(status.toString().startsWith("WEB_")){
webMap.put(status.toString(), status.getName());
}else{
mobileMap.put(status.toString(), status.getName());
}
}




Map<String, String> map = webMap;
for (Map.Entry<String, String> entry : map.entrySet())
{
System.out.println(entry.getKey() + " " + entry.getValue());
}

Map<String, String> map2 = mobileMap;
for (Map.Entry<String, String> entry : map2.entrySet())
{
System.out.println(entry.getKey() + " " + entry.getValue());
}


}

}

它会给你这个:

WEB_TYPE1
WEB_TYPE2
MOBILE_TYPE1
MOBILE_TYPE2
WEB_TYPE2 Web Type 2
WEB_TYPE1 Web Type 1
MOBILE_TYPE2 Mobile Type 2
MOBILE_TYPE1 Mobile Type 1

关于java - 将 enum 分成 2 个不同的 HashMap ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43405225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com