Как создать Массив, ArrayList, Стек и Очередь в Java?

Я читал статью Java, но не нашел различий в объявлении и был смущен. Кто-либо может перечислить меня это?

Добавленный статья

http://www.theparticle.com/javadata2.html

40
задан Anthony Forloney 26 April 2010 в 00:32
поделиться

2 ответа

Не более подробно о том, что именно задает вопрос, я собираюсь ответить на заголовок вопроса ,

Создать массив :

String[] myArray = new String[2];
int[] intArray = new int[2];

// or can be declared as follows
String[] myArray = {"this", "is", "my", "array"};
int[] intArray = {1,2,3,4};

Создать ArrayList :

ArrayList<String> myList = new ArrayList<String>();
myList.add("Hello");
myList.add("World");

ArrayList<Integer> myNum = new ArrayList<Integer>();
myNum.add(1);
myNum.add(2);

Это означает, что создать ArrayList из String и Целочисленные объекты. Вы не можете использовать int , потому что это примитивные типы данных , см. Ссылку для получения списка примитивных типов данных.

Создать Стек :

Stack myStack = new Stack();
// add any type of elements (String, int, etc..)
myStack.push("Hello");
myStack.push(1);

Создать Очередь : ( с использованием LinkedList )

Queue<String> myQueue = new LinkedList<String>();
Queue<Integer> myNumbers = new LinkedList<Integer>();
myQueue.add("Hello");
myQueue.add("World");
myNumbers.add(1);
myNumbers.add(2);

То же, что и ArrayList , это объявление означает создание очереди из объектов String и Integer .


Обновление:

В ответ на ваш комментарий из другого данного ответа,

я сейчас очень запутался, почему я использую строку. и что означает

Мы используем String только в качестве чистого примера, но вы можете добавить любой другой объект , но главное заключается в том, что вы используете объект , а не примитивный тип. Каждый примитивный тип данных имеет свой собственный примитивный класс оболочки , см. Ссылку для списка классов оболочки примитивного типа данных.

Я разместил несколько ссылок, чтобы объяснить разницу между ними, но вот список примитивных типов

  • byte
  • short
  • char
  • int
  • long
  • boolean
  • ] double
  • float

Это означает, что вам не разрешено создавать ArrayList целых чисел, например:

ArrayList<int> numbers = new ArrayList<int>(); 
           ^ should be an object, int is not an object, but Integer is!
ArrayList<Integer> numbers = new ArrayList<Integer>();
            ^ perfectly valid

Кроме того, вы можете использовать свои собственные объекты, вот мой Monster объект, который я создал,

public class Monster {
   String name = null;
   String location = null;
   int age = 0;

public Monster(String name, String loc, int age) { 
   this.name = name;
   this.loc = location;
   this.age = age;
 }

public void printDetails() {
   System.out.println(name + " is from " + location +
                                     " and is " + age + " old.");
 }
} 

Здесь у нас есть объект Monster , но теперь в нашем классе Main.java мы хотим вести учет всех наших Monster , которые мы создаем, поэтому давайте добавим их в ArrayList

public class Main {
    ArrayList<Monster> myMonsters = new ArrayList<Monster>();

public Main() {
    Monster yetti = new Monster("Yetti", "The Mountains", 77);
    Monster lochness = new Monster("Lochness Monster", "Scotland", 20);

    myMonsters.add(yetti); // <-- added Yetti to our list
    myMonsters.add(lochness); // <--added Lochness to our list

    for (Monster m : myMonsters) {
        m.printDetails();
     }
   }

public static void main(String[] args) {
    new Main();
 }
}

( Я помог брату моей девушки с Java-игрой, и ему тоже пришлось что-то делать в этом направлении, но я надеюсь, что пример был хорошо продемонстрирован )

71
ответ дан 27 November 2019 в 01:36
поделиться

Я предполагаю, что вы запутались с параметризацией типов:

// This works, because there is one class/type definition in the parameterized <> field
ArrayList<String> myArrayList = new ArrayList<String>(); 


// This doesn't work, as you cannot use primitive types here
ArrayList<char> myArrayList = new ArrayList<char>();
2
ответ дан 27 November 2019 в 01:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: