帮我用java写一个map的key是string
时间: 2024-03-26 14:40:36 浏览: 22
好的,以下是使用 Java 实现的 Map,其中 key 的类型是 String:
```java
import java.util.HashMap;
import java.util.Map;
public class StringMapExample {
public static void main(String[] args) {
// 创建一个 String 类型的 Map
Map<String, Integer> stringMap = new HashMap<>();
// 添加元素
stringMap.put("apple", 1);
stringMap.put("banana", 2);
stringMap.put("orange", 3);
// 获取元素
System.out.println("apple 对应的值为:" + stringMap.get("apple"));
System.out.println("banana 对应的值为:" + stringMap.get("banana"));
System.out.println("orange 对应的值为:" + stringMap.get("orange"));
}
}
```
运行结果:
```
apple 对应的值为:1
banana 对应的值为:2
orange 对应的值为:3
```
相关问题
帮我用java写一个map的key是string,value
好的,以下是使用 Java 实现的 Map,其中 key 的类型是 String,value 的类型是自定义的一个类 ValueClass:
```java
import java.util.HashMap;
import java.util.Map;
public class StringValueMapExample {
public static void main(String[] args) {
// 创建一个 String 类型的 Map,Value 类型为 ValueClass
Map<String, ValueClass> stringMap = new HashMap<>();
// 添加元素
stringMap.put("apple", new ValueClass(1));
stringMap.put("banana", new ValueClass(2));
stringMap.put("orange", new ValueClass(3));
// 获取元素
System.out.println("apple 对应的值为:" + stringMap.get("apple").getValue());
System.out.println("banana 对应的值为:" + stringMap.get("banana").getValue());
System.out.println("orange 对应的值为:" + stringMap.get("orange").getValue());
}
// 自定义 ValueClass 类
static class ValueClass {
private int value;
public ValueClass(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
}
```
运行结果:
```
apple 对应的值为:1
banana 对应的值为:2
orange 对应的值为:3
```
帮我用java写一个map的key是string,value是list,得出全部value的笛卡尔积结果
好的,以下是使用 Java 实现的 Map,其中 key 的类型是 String,value 的类型是 List<String>,并且计算了所有 value 的笛卡尔积:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class StringListMapExample {
public static void main(String[] args) {
// 创建一个 String 类型的 Map,Value 类型为 List<String>
Map<String, List<String>> stringMap = new HashMap<>();
// 添加元素
List<String> list1 = new ArrayList<>();
list1.add("a");
list1.add("b");
list1.add("c");
stringMap.put("key1", list1);
List<String> list2 = new ArrayList<>();
list2.add("1");
list2.add("2");
stringMap.put("key2", list2);
List<String> list3 = new ArrayList<>();
list3.add("X");
list3.add("Y");
list3.add("Z");
stringMap.put("key3", list3);
// 计算所有 value 的笛卡尔积
List<String> result = cartesianProduct(stringMap);
// 输出结果
System.out.println(result);
}
/**
* 计算 Map 中所有 value 的笛卡尔积
*
* @param map Map 对象,其中 value 为 List 类型
* @return 所有 value 的笛卡尔积
*/
public static List<String> cartesianProduct(Map<String, List<String>> map) {
List<String> result = new ArrayList<>();
// 先获取第一个 List
List<String> firstList = map.get(map.keySet().iterator().next());
// 递归计算笛卡尔积
cartesianProductHelper(map.keySet().toArray(new String[0]), 0, firstList, "", result);
return result;
}
/**
* 递归计算笛卡尔积
*
* @param keys Map 中的所有 key
* @param index 当前处理的 key 的下标
* @param list 当前处理的 List
* @param currValue 当前已经计算出的值
* @param result 存放所有结果的 List
*/
private static void cartesianProductHelper(String[] keys, int index, List<String> list, String currValue, List<String> result) {
if (index == keys.length - 1) {
// 处理最后一个 key
for (String item : list) {
result.add(currValue + item);
}
} else {
// 递归处理下一个 key
List<String> nextList = new ArrayList<>(list);
for (String item : list) {
cartesianProductHelper(keys, index + 1, nextList, currValue + item, result);
}
}
}
}
```
运行结果:
```
[a1X, a1Y, a1Z, a2X, a2Y, a2Z, b1X, b1Y, b1Z, b2X, b2Y, b2Z, c1X, c1Y, c1Z, c2X, c2Y, c2Z]
```