Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create an Array, ArrayList, Stack and Queue in Java?

I was reading a Java article, but found no differences in the declaration and was confused over. Can anyone list me out this?

Added the Article

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

like image 945
Kevin Avatar asked Apr 25 '10 17:04

Kevin


People also ask

Can we use a Java ArrayList as a stack?

For beginners, using ArrayListA stack is one of the most simplest data structure to understand. If you had data structures in your academia, you already know what it means. It's a simple Last In First Out (LIFO) queue. What that means is the last element to enter the stack will be first element to go out of the stack.


1 Answers

Without more details as to what the question is exactly asking, I am going to answer the title of the question,

Create an Array:

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}; 

Create an 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); 

This means, create an ArrayList of String and Integer objects. You cannot use int because thats a primitive data types, see the link for a list of primitive data types.

Create a Stack:

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

Create an Queue: (using 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); 

Same thing as an ArrayList, this declaration means create an Queue of String and Integer objects.


Update:

In response to your comment from the other given answer,

i am pretty confused now, why are using string. and what does <String> means

We are using String only as a pure example, but you can add any other object, but the main point is that you use an object not a primitive type. Each primitive data type has their own primitive wrapper class, see link for list of primitive data type's wrapper class.

I have posted some links to explain the difference between the two, but here are a list of primitive types

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

Which means, you are not allowed to make an ArrayList of integer's like so:

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 

Also, you can use your own objects, here is my Monster object I created,

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.");  } }  

Here we have a Monster object, but now in our Main.java class we want to keep a record of all our Monster's that we create, so let's add them to an 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();  } } 

(I helped my girlfriend's brother with a Java game, and he had to do something along those lines as well, but I hope the example was well demonstrated)

like image 180
9 revs Avatar answered Sep 22 '22 21:09

9 revs