Java将变量添加到字符串数组

时间:2014-01-20 08:39:22

标签: java arrays

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

我的代码:

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

7 个答案:

答案 0 :(得分:3)

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

您可能正在寻找收藏品。希望使用List接口与ArrayList实施。

原因是ArrayList

  

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

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

现在,add, remove cityNames

上有List ......等方法以及更多有用的方法

答案 1 :(得分:1)

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

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

List比使用数组更好,因为它的长度是可修改的。

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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

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

如果在为索引分配新值时,数组完全填充了元素,则会覆盖以前的值。由于数组具有固定大小,因此无法添加超过声明大小的元素。

答案 4 :(得分:0)

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

这样做

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

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

答案 5 :(得分:0)

最好使用set,它会自动排除重复的条目:

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

然后添加新城市只需致电:

sities.add(newCity);

答案 6 :(得分:0)

        Scanner input = new Scanner(System.in);

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

        cityNames.add(input.next());