Home | 7.1 Introduction | 7.2 Methods | 7.3 Traversing | 7.4 Algorithms | 7.5 Searching | 7.6 Sorting | 7.7 Ethical Issues |
7.1 ArrayList Intro
Introduction to ArrayLists
7.1: ArrayList Intro
- ArrayLists are dynamic (size can grow and shrink unlike arrays which are static)
- Instead of creating a different size array each time, we can use ArrayLists!
- Ex: You and ur beautiful wife…
In order to use the ArrayList class, it needs to be imported from the java util package. This can be done by writing import java.util.ArrayList; at the beginning of the code
- To use Arraylist class, it needs to be imported from java.util package
- At beginning of code using an Arraylist, type the command below!
import java.util.ArrayList;
// your amazing code here!
ArrayList objects are initialized the same way as most object classes. However, the element type (String, Integer, Boolean) must be specified in the <>. Look at the example below, where the element type is String in this case.
- Arraylist objects are initialized like most object classes
- the element type must be initialized in <>
- The objects can’t store primitive types directly
ArrayList<String> bobtheminion = new ArrayList(); // example of initializing an arraylist of strings called "awesomeword"
ArrayList<Integer> bobtheminionage = new ArrayList<>();
ArrayList<Boolean> isbobtheminionavailable = new ArrayList<>();
ArrayList<Double> minionheights = new ArrayList<>();
Popcorn Hack #1
What’s wrong with the code below?
import java.util.ArrayList;
ArrayList<String> awesomeword = new ArrayList<String>();
ArrayList<Integer> coolnumbers = new ArrayList<Integer>();
ArrayList<Boolean> truefalse = new ArrayList<Boolean>();
// change code and comment what you changed when doing homework
Missing Generic Type in new ArrayList(): When creating an ArrayList, it’s good practice to specify the type, even on the right side.
Instead of new ArrayList(), it should be new ArrayList
Incorrect type Int: Java uses Integer (with a capital “I”) for wrapper classes of primitive types, not Int.
ArrayLists can be created without specifying a type, allowing them to hold any object type. However, its better to define the type because it allows the compiler to catch errors at compile time whcich makes the code more efficient and easier to debug. Example is below
- Arraylists can be created without specifying a type (they can hold any)
- Better to define the type as it makes code easier to debug and more efficient
ArrayList list = new ArrayList(); // no object type specified!
Popcorn Hack #2
Create two ArrayList objects, one for storing integers (called sritestgrades) and another for storing strings (called srishobbies).
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> sritestgrades = new ArrayList<Integer>();
ArrayList<String> srishobbies = new ArrayList<String>();
sritestgrades.add(45);
sritestgrades.add(32);
sritestgrades.add(1);
sritestgrades.add(90);
sritestgrades.add(74);
srishobbies.add("watching netflix");
srishobbies.add("sleeping");
srishobbies.add("");
srishobbies.add("annoying saathvik");
System.out.println("Sri's horrible test grades are: " + sritestgrades);
System.out.println("Sri's hobbies are: " + srishobbies);
}
}
Main.main(null);
Sri's horrible test grades are: [45, 32, 1, 90, 74]
Sri's hobbies are: [watching netflix, sleeping, , annoying saathvik]