如何在java中从csv文件的元素集中随机选择?

如何在java中从csv文件的元素集中随机选择?,java,arrays,random,Java,Arrays,Random,如何获得与第一列中相同元素对应的随机元素例如,对于apple,它随机选择juicy,对于ball,它随机选择soccer,或者当程序下次再次运行时,它将apple作为水果,ball作为圆形。我不知道怎么做 到目前为止,我的代码是这样的- My Csv Structure is like this : - apple,juicy apple,red, apple,fruit ball,round ball,baseball ball,soccer ball,field hockey ArrayL

如何获得与第一列中相同元素对应的随机元素例如,对于apple,它随机选择juicy,对于ball,它随机选择soccer,或者当程序下次再次运行时,它将apple作为水果,ball作为圆形。我不知道怎么做

到目前为止,我的代码是这样的-

My Csv Structure is like this : -
apple,juicy
apple,red,
apple,fruit
ball,round
ball,baseball
ball,soccer
ball,field hockey
ArrayList column1=新的ArrayList();
字符串键=关键字[0];

对于(int i=1;i要从文件中选择具有相同第一个值的一组值,请使用带有值列表的映射结构。如下所示:

 ArrayList<String> column1 = new ArrayList<String>();

        String key=keyword[0];
        for(int i=1;i<keyword.length;i++){

            if(keyword[i].equals(keyword[i-1])){
                AlternateNew.add(alternate[i-1]);
            }else{
                column1.add(keyword[i-1];
            }

            }
TreeMap
读取时,将条目添加到映射中,确保为新密钥初始化列表,并为现有密钥添加到现有列表。文件中的第一个值是密钥。第二个值是要插入ArrayList的值

填充映射后,在映射键上进行迭代(使用树映射,它们将按字母顺序排列)。在每次迭代中,找到列表的大小,生成一个介于0和(大小-1)之间的随机数,然后拉出ArrayList的该元素


我不太愿意为这个答案编写代码,因为这听起来很像是一个家庭作业问题。

您可以使用收集接口将元素放入一个集合,然后使用地图收集框架进行映射。

这不是家庭作业问题。这是一个实时问题。请帮我解决。我对数据结构非常陌生,并且在学习过程中,我尝试了使用for循环的传统方法,但后来我对如何获取arraylist以增加新键的数量感到困惑
TreeMap<String, ArrayList<String>>