gpt4 book ai didi

java - 打乱 HashMap 中的值

转载 作者:行者123 更新时间:2023-12-02 07:39:35 25 4
gpt4 key购买 nike

我想打乱 HashMap 中的值。我有以下类型的 HashMap

Map<Integer,ArrayList<String> > trainDataSet = new HashMap<Integer, ArrayList<String>>();

我想打乱 map 中的值。我该怎么做呢?

以下是我的尝试:

    collections.shuffle(trainDataSet.values());

出现错误:

    Values cannot be cast to java.util.List

是的,这是有道理的,因为我的值在 Arraylist 中而不是在 List 中。是否可以对 arraylist 的集合进行洗牌?

编辑

如果我有以下订单::

key1  [aa,bb,cd]
key2 [xx,xy,sfr]

进入类似的事情

key1  [xx,xy,sfr]
key2 [aa,bb,cd]

最佳答案

您实际上想要随机重新关联键和值。以下是如何实现这一目标的示例:

final Map<String, Object> x = new HashMap<String, Object>();
x.put("x", 1); x.put("y", 2); x.put("z", 3); x.put("w", 4);
System.out.println(x);
final List<Object> vs = new ArrayList<Object>(x.values());
Collections.shuffle(vs);
System.out.println(vs);
final Iterator<Object> vIter = vs.iterator();
for (String k : x.keySet()) x.put(k, vIter.next());
System.out.println(x);

关于java - 打乱 HashMap 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10571712/

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