有二个长度一样的集合和列表,按从小到大的顺序组合成一个字典。 输入格式: 输入二个长度一样的集合和列表,集合元素全部为整型,列表元素全部为字符串型。 输出格式: 组合后的字典。 输入样例: 在这里给出一组输入。例如: {1,2,6,5,3,4} ['aa','cc','bb','d','f','e'] 输出结果为 {1: 'aa', 2: 'bb', 3: 'cc', 4: 'd', 5: 'e', 6: 'f'}用java编写程序
时间: 2023-08-06 14:13:01 浏览: 98
以下是 Java 代码实现:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Set<Integer> set = new TreeSet<>();
List<String> list = new ArrayList<>();
String[] strs = sc.nextLine().split(" ");
for (String str : strs[0].substring(1, strs[0].length() - 1).split(",")) {
set.add(Integer.parseInt(str.trim()));
}
for (String str : strs[1].substring(1, strs[1].length() - 1).split(",")) {
list.add(str.trim());
}
Map<Integer, String> map = new LinkedHashMap<>();
Iterator<Integer> it1 = set.iterator();
Iterator<String> it2 = list.iterator();
while (it1.hasNext() && it2.hasNext()) {
map.put(it1.next(), it2.next());
}
System.out.println(map);
}
}
```
输入格式为 "{1,2,6,5,3,4} ['aa','cc','bb','d','f','e']",需要将其中的集合和列表解析出来。解析方法是将字符串按照逗号和大括号分割成数组,然后使用循环遍历将元素添加到集合和列表中。注意要去掉元素前后的空格。
使用 `TreeSet` 对集合进行排序,使用 `LinkedHashMap` 保存结果,因为它可以保证插入顺序与遍历顺序一致。然后使用迭代器遍历集合和列表,将它们组合成字典。最后输出结果即可。
阅读全文