Java 当输入字符串的数目为n时,如何获取字符串的多个输入

Java 当输入字符串的数目为n时,如何获取字符串的多个输入,java,arraylist,Java,Arraylist,我正在处理一个问题,我们需要得到n个字符串输入,然后如何存储在n个字符串变量中 我尝试使用数组在每个元素中存储字符串 java中还有其他方法吗?如果您事先不知道要在内存中保存多少字符串,那么您可以使用动态结构,如List的实现者(例如:ArrayList),如果您想存储所有保留顺序的列表,或集合(例如:HashSet)如果您不想存储副本,也不关心它们的插入顺序 这取决于你是如何得到N的,如果N是第一个输入,那么你可以接受该输入,并制作一个大小如下的数组: int n = scanner.next

我正在处理一个问题,我们需要得到n个字符串输入,然后如何存储在n个字符串变量中

我尝试使用数组在每个元素中存储字符串


java中还有其他方法吗?

如果您事先不知道要在内存中保存多少字符串,那么您可以使用动态结构,如List的实现者(例如:ArrayList),如果您想存储所有保留顺序的列表,或集合(例如:HashSet)如果您不想存储副本,也不关心它们的插入顺序

这取决于你是如何得到N的,如果N是第一个输入,那么你可以接受该输入,并制作一个大小如下的数组:

int n = scanner.nextInt();
String[] array = new String[n];
或者,如果您只想添加直到X输入,这将停止它,那么您可以像这样使用arraylist:

List<String> array = new ArrayList<>();
List array=new ArrayList();
集合是动态的,所以不需要预先指定元素的数量。您可以添加简单的元素:


array.add(“somestring”)
数组.add(stringVariableName)

您可以使用某种数组或集合。正如@David提到的,尝试使用集合。我建议使用ArrayList。您可以使用list的一些实现(例如ArrayList),例如,不设置的原因是,如果字符串相同,您将丢失一些字符串。在您的情况下,据我所知,无论发生什么情况,您都需要存储[N]字符串。谢谢您的回答。但是如果我们使用字符串列表,则不容易遍历列表超过1次…如果我想知道第i个值和第i个值可能会被洗牌…实际上集合有洗牌
集合的方法。洗牌(yourList)
,arraylist使用的索引与常规数组类似,当您获取元素时,可以编写
array.get(index)array.indexOf(object)