从ArrayList中创建HashMap,其中包含重复值的一列作为键,相应的行作为值,可以按照以下步骤进行操作:
以下是一个示例代码:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class ArrayListToHashMap {
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("A");
arrayList.add("B");
arrayList.add("A");
arrayList.add("C");
arrayList.add("B");
HashMap<String, List<Integer>> hashMap = new HashMap<>();
for (int i = 0; i < arrayList.size(); i++) {
String key = arrayList.get(i);
if (hashMap.containsKey(key)) {
List<Integer> values = hashMap.get(key);
values.add(i);
} else {
List<Integer> values = new ArrayList<>();
values.add(i);
hashMap.put(key, values);
}
}
// 打印HashMap中的键值对
for (String key : hashMap.keySet()) {
List<Integer> values = hashMap.get(key);
System.out.println("Key: " + key + ", Values: " + values);
}
}
}
上述代码中,我们首先创建了一个ArrayList对象,其中包含了重复值的一列。然后创建了一个HashMap对象,用于存储键值对。通过遍历ArrayList中的元素,判断每个元素是否已经存在于HashMap的键集合中,如果存在,则将当前元素添加到对应的值列表中;如果不存在,则创建一个新的值列表,并将当前元素添加到列表中,然后将键值对添加到HashMap中。最后,打印HashMap中的键值对,其中键是重复值,而值是包含该重复值的行的索引。
请注意,以上示例代码中没有提及任何特定的云计算品牌商,如果需要了解腾讯云相关产品和产品介绍,可以参考腾讯云官方文档或咨询腾讯云的技术支持团队。
领取专属 10元无门槛券
手把手带您无忧上云