Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何读取文件并从中随机提取信息并将其添加到数组列表中?_Java_Sorting_Random_Arraylist_Filereader - Fatal编程技术网

Java 如何读取文件并从中随机提取信息并将其添加到数组列表中?

Java 如何读取文件并从中随机提取信息并将其添加到数组列表中?,java,sorting,random,arraylist,filereader,Java,Sorting,Random,Arraylist,Filereader,这就是我的文本文件的外观 Cincinnati Oxford Chicago New York Las Vegas Houston Detroit Miami Denver Boston 我想从文本文件中随机填充ArrayListCity,然后使用collections.sort对其进行排序。文本文件中的所有城市都应该在数组列表中,但每次程序运行时顺序不同。阅读-这是最简单的路线 实际上,还有一个问题。您可以使用math.random查看文本文件的行,如果出现第5行,

这就是我的文本文件的外观

Cincinnati 
Oxford  
Chicago 
New York
Las Vegas 
Houston  
Detroit  
Miami  
Denver 
Boston
我想从文本文件中随机填充ArrayListCity,然后使用collections.sort对其进行排序。文本文件中的所有城市都应该在数组列表中,但每次程序运行时顺序不同。

阅读-这是最简单的路线


实际上,还有一个问题。您可以使用math.random查看文本文件的行,如果出现第5行,那么您可以将其从为math.random设置的参数中删除吗?它将从0-9中拾取,使用第五行后,它将从0-4,6-9中拾取

这是可能的,但会使事情变得过于复杂。实现这一功能的最佳方式是拥有一个数字“池”。i、 e.整数对象的arraylist,然后您可以使用介于0和arraylist.size之间的随机数生成器来获取这些整数对象中的一个,并将其从arraylist中删除。然后读那句话。这种方法需要几个对象:随机、数组列表、整数、读取器

充其量,对于如此简单的事情来说,它过于复杂了。如我所说,最好的做法是阅读每一行并将其插入arrayList。然后窒息

另一种方法是,读取每一行,获取arraylist的大小,然后在arraylist中随机插入新字符串。下面是一些代码:

arrayList.add(getRandomIndex(arrayList.size()),string);

public int getRandomIndex(int size){
    return ((int)Math.random()*size)
}

家庭作业应该尝试……家庭作业只要求我们使用集合。排序,我正在尝试提前一步,学习他们在课堂上教的东西以外的东西。所以,谢谢你的帮助。不要试图从文件中随机读取行。将文件中的行读入数组,然后随机洗牌。我只需要一点方向。谢谢你,伙计!实际上,还有一个问题。您可以使用math.random查看文本文件的行,如果出现第5行,那么您可以将其从为math.random设置的参数中删除吗?它将从0-9中选择,在使用第五行之后,它将从0-4,6-9中选择。我想将城市添加到阵列列表中,然后洗牌失败,以便稍后对它们进行排序。我想我会试试你给我的第二个例子。谢谢你的建议,伙计,我很感谢你花时间来来回地提出意见。