java String str = “["apple":"apple", "banana","banana"’]”; 转换成list<map>
时间: 2024-06-02 12:05:03 浏览: 111
可以通过以下步骤将字符串转换为List<Map>:
1. 去掉字符串中的方括号和单引号,得到纯键值对字符串。
2. 使用逗号分隔符将键值对字符串分割成多个键值对字符串。
3. 对于每个键值对字符串,使用冒号分隔符将键和值分割成两个字符串,并去掉引号。
4. 将每个键值对的键和值存入一个Map中,将所有Map存入一个List中。
以下是Java代码实现:
```java
String str = "[\"apple\":\"apple\", \"banana\",\"banana\"]";
str = str.replace("[", "").replace("]", "").replace("'", "");
List<Map<String, String>> list = new ArrayList<>();
String[] pairs = str.split(",");
for (String pair : pairs) {
String[] keyValue = pair.split(":");
Map<String, String> map = new HashMap<>();
map.put(keyValue.trim(), keyValue.trim());
list.add(map);
}
```
相关问题
java list 转 Map<String,List>
以下是两种Java将List转换成Map<String,List>的方法:
1.使用foreach循环实现:
```java
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
Map<String, List<Integer>> map = new HashMap<>();
for (String str : list) {
List<Integer> tempList = new ArrayList<>();
tempList.add(str.length());
map.put(str, tempList);
}
System.out.println(map);
```
输出结果为:{orange=, banana=, apple=}
2.使用Java 8的stream()实现:
```java
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
Map<String, List<Integer>> map = list.stream().collect(Collectors.toMap(Function.identity(), s -> {
List<Integer> tempList = new ArrayList<>();
tempList.add(s.length());
return tempList;
}));
System.out.println(map);
```
输出结果为:{orange=, banana=, apple=}
描述 童童去水果店买水果,苹果的价格为4元/kg,香蕉的价格为5元/kg。请从键盘输入两种水果的价格,并按固定格式输出。如下 样例输入 4 5,样例输出apple:4/kg banana:5/kg帮我写个编程
你可以使用Python编写一个简单的程序来处理这个问题,下面是一个示例:
```python
def print_fruit_prices(apple_price, banana_price):
format_string = "{0}:{1}/kg\nbanana:{2}/kg"
output = format_string.format("apple", apple_price, "banana", banana_price)
print(output)
# 从用户那里获取输入
input_str = input("请输入苹果价格和香蕉价格,用空格分隔:")
prices = list(map(int, input_str.split()))
# 检查输入是否合法(这里假设只接受整数)
if len(prices) == 2 and all(isinstance(p, int) for p in prices):
apple_price, banana_price = prices
print_fruit_prices(apple_price, banana_price)
else:
print("输入错误,请按照提示输入两个整数价格。")
#
阅读全文