2013-07-25 4 views
0

Я уже говорил, я действительно новичок в Java. Я уже использую PHP. Если я правильно понял, нам нужно дать java, как долго будет массив. Тогда как насчет автоматического ввода?ввод данных в массив без ввода ключа

В PHP

<?php 

$data[] = 15; 
$data[] = 18; 
$data[] = 40; 

print_r($data); 

?> 

Выход:

Array ([0] => 15 [1] => 18 [2] => 40) 

Как вы можете видеть, что я не определил длину массива (это не мой вопрос). Php может автоматически определять ключи. Мне не нужно использовать как $data[0] = 15; $data[1] = 18;. В java, как это сделать? Нужно ли использовать, как показано ниже?

int dizi[] = new int[3]; 
dizi[0] = 15; 
dizi[1] = 18; 
dizi[2] = 40; 

Есть ли способ?

+2

Вы можете рассмотреть список Java http://docs.oracle.com/javase/6/docs/api/java/util/List.html – VirtualTroll

ответ

3

Длина массива является статическим. Длина таких коллекций, как List, Map, отсутствует. Вместо этого используйте List.

List<String> exampleList = new ArrayList<>(); // Java 7 needed for diamond init 
exampleList.add("test"); 
exampleList.add("test1"); 
exampleList.add("test2"); 
exampleList.add("test3"); 

for(str : exampleList){ 
    System.out.println(str); 
} 

Для инициализации массива вы ВСЕГДА должны знать, это не размер заранее, независимо от того, если вы

int[] arr = new int[10]; 

или

int[] arr = new int[]{1,2,3,4,5,6,7,8,9,10}; 

Примечание: В предыдущих версиях Java вам нужно написать List<String> exampleList = new ArrayList<String>();. List<String> exampleList = new ArrayList<>(); не будет компилироваться в версиях pre java 7.

+0

Я добавил еще инициализацию более старые версии java. Надеюсь, вы не возражаете :) –

+0

Я думаю, что случайно это сделал. Не стесняйтесь добавлять его снова. – Lenymm

+0

используя «<>» ответ на мой вопрос? – Yusuf

2

Рассмотрите возможность использования List, например, ArrayList

Он не имеет предопределенный размер, и вы можете добавить столько элемент, как вы хотите. Например:

List<String> list = new ArrayList<String>(); 
list.add("a string"); 
list.add("another string"); 
1

Вы можете инициализировать массив во время его создания, как это:

int[] dizi = new int[] {1, 2, 3, 4}; 
1

Невозможно. Вместо этого вы должны использовать ArrayList. Он обеспечивает удобные операции модификации и с помощью метода toArray() вы всегда можете получить собственный массив, если он вам действительно нужен.

1

В Java вы должны использовать List или вектор для растущих массивов.

Тогда

List<String> list=new ArrayList<>(); 
list.add("a"); 
list.add("b"); 
Смежные вопросы