繁体   English   中英

Java向字符串数组添加变量

[英]Java add variable to string array

我有一个包含将显示的城市名称的小代码。 现在希望用户可以使用扫描仪添加名称,我知道扫描仪的代码但不知道如何添加变量。

我有代码:

String[] cityNames = { "Tiel", "Culemborg", "Houten", "Geldermalsen", "Meteren", "Buren" }; 
System.out.println(Arrays.toString(cityNames));

不,你不能用数组来做,因为大小是固定的,一旦声明。

您可能正在寻找收藏。 优先使用List接口和ArrayList实现。

原因是ArrayList

List 接口的可调整大小的数组实现。

List<String> cityNames  = new ArrayList<>();

现在,您的cityNames List有了add, remove等方法以及更多有用的方法

您可以使用List<String> ,获取输入值并添加它:

List<String> cities = new ArrayList<>();
cities.add(userInput);

列表比数组更好用,因为它的长度是可以修改的。

数组具有固定长度。 如果集合中的字符串数量是可变的,则必须使用列表。

如果新元素的索引小于数组的大小,则可以向数组添加新元素。

arr[i]="some value" // to do this i < arr.length 

如果在为索引分配新值时数组完全充满元素,则先前的值将被覆盖。 您不能添加超过声明大小的元素,因为数组具有固定大小。

数组是固定大小,因此如果大小已经填充,则无法向其添加值。 对于动态数组,请使用 List 而不是数组。

这样做

List<String> list = new ArrayList<String>(Arrays.asList("Tiel", "Culemborg", "Houten", "Geldermalsen", "Meteren", "Buren" ));

list.add("new value1");
list.add("new value2");

最好使用那里设置,它会自动排除重复条目:

Set<String> cities = new HashSet<String>();
cities.addAll(Arrays.asList("Tiel", "Culemborg", "Houten", "Geldermalsen", "Meteren", "Buren"));

然后添加新城市只需调用:

sities.add(newCity);
        Scanner input = new Scanner(System.in);

        List<String> cityNames = new ArrayList<String>();
        //Add the city names to cityNames list...

        cityNames.add(input.next());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM