Unknown user
Unknown user

Reputation: 45331

Creating a new ArrayList in Java

Assuming that I have a class named Class,

And I would like to make a new ArrayList that it's values will be of type Class.

My question is that: How do I do that?

I can't understand from Java Api.

I tried this:

ArrayList<Class> myArray= new ArrayList ArrayList<Class>;

Upvotes: 42

Views: 313938

Answers (9)

Johnny
Johnny

Reputation: 15423

Java 8

In order to create a non-empty list of fixed size where different operations like add, remove, etc won't be supported:

List<Integer> fixesSizeList= Arrays.asList(1, 2);

Non-empty mutable list:

List<Integer> mutableList = new ArrayList<>(Arrays.asList(3, 4));

Java 9

With Java 9 you can use the List.of(...) static factory method:

List<Integer> immutableList = List.of(1, 2);

List<Integer> mutableList = new ArrayList<>(List.of(3, 4));

Java 10

With Java 10 you can use the Local Variable Type Inference:

var list1 = List.of(1, 2);

var list2 = new ArrayList<>(List.of(3, 4));

var list3 = new ArrayList<String>();

Check out more ArrayList examples here.

Upvotes: 3

Irlan Cidade
Irlan Cidade

Reputation: 151

You can use in Java 8

List<Class> myArray= new ArrayList<>();

Upvotes: 4

user4058730
user4058730

Reputation:

    ArrayList<Class> myArray = new ArrayList<Class>();

Here ArrayList of the particular Class will be made. In general one can have any datatype like int,char, string or even an array in place of Class.

These are added to the array list using

    myArray.add();

And the values are retrieved using

    myArray.get();

Upvotes: 1

Jeff Storey
Jeff Storey

Reputation: 57212

You are looking for Java generics

List<MyClass> list = new ArrayList<MyClass>();

Here's a tutorial http://docs.oracle.com/javase/tutorial/java/generics/index.html

Upvotes: 59

G-Man
G-Man

Reputation: 1331

If you just want a list:

ArrayList<Class> myList = new ArrayList<Class>();

If you want an arraylist of a certain length (in this case size 10):

List<Class> myList = new ArrayList<Class>(10);

If you want to program against the interfaces (better for abstractions reasons):

List<Class> myList = new ArrayList<Class>();

Programming against interfaces is considered better because it's more abstract. You can change your Arraylist with a different list implementation (like a LinkedList) and the rest of your application doesn't need any changes.

Upvotes: 17

Favonius
Favonius

Reputation: 13984

Do this: List<Class> myArray= new ArrayList<Class>();

Upvotes: 3

unknown
unknown

Reputation: 853

Material please go through this Link And also try this

 ArrayList<Class> myArray= new ArrayList<Class>();

Upvotes: 0

camiloqp
camiloqp

Reputation: 1140

Fixed the code for you:

ArrayList<Class> myArray= new ArrayList<Class>();

Upvotes: 3

mellamokb
mellamokb

Reputation: 56779

You're very close. Use same type on both sides, and include ().

ArrayList<Class> myArray = new ArrayList<Class>();

Upvotes: 12

Related Questions