The Collection is a root Interface which contains other Interfaces like List, Queue, Map and Set. These Interfaces further contains Classes or sub-interfaces.
Facts about Collection
All these Classes and Interfaces make a framework structure to create a list of objects(like String, Integer, etc). It also provides common methods/features to handle and manipulate these under various interfaces and classes.
- Accessible from java.util library.
- Some collections allow duplicate elements, some collections do not.
- Some collections are in an ordered way and some not.
- Only non-primitive data types can be used in these interfaces and classes to store data. Like String, Integer, etc.
- All these interfaces and classes use similar types of methods to manipulate data. Like add(), remove(), size() etc.
- Five main operations on Collection Addition, Insertion, deletion, retrieval and traversal can be performed.
Overview of widely used Collection Interfaces
In this chapter, I am summarizing all the Classes based on their interfaces, keypoints, and declaration. It will help you to get familiar with these classes. In later chapters, we will learn about each class individually.
List
- Classes: Commonly used classes.
- ArrayList
- LinkedList
- Key points:
- Stores objects as a list of elements.
- Any number of elements can be added to the list.
- Ability to store similar as well as different types of elements to a single list.
- It allows duplicate values in the list.
- All the elements in the list remain in the same order in which we have added them even we add, remove, insert a new element in the list.
- Each element has an integer type index value to locate in the list. like 0, 1, 2, 3 and so on.
- Searching any specific value(element) in the list is slow.
- Searching for any specific value(element) using the index number is fast on the list.
- Traversing the list is faster.
- Sorting the list is possible.
- Use ArrayList, if you want to add/remove data from the end of the list.
- Use LinkedList, if you want to add/remove data in-between the list.
- Declarations:
List<String> tempList = new ArrayList<String>();
List<Integer> tempList = new ArrayList<Integer>();
List mixedArray=new ArrayList<>();
List<String> tempList = new LinkedList<String>();
List<Integer> tempList = new LinkedList<Integer>();
List mixedArray=new LinkedList<>();
Set
- Classes: Commonly used classes.
- HashSet
- TreeSet
- LinkedHashSet
- Key points:
- Duplicates elements are not allowed in Sets.
- Indexing of elements in Set classes not available like Lists.
- Very fast to search for any specific item(element) in the set.
- HashSet is not ordered in nature.
- TreeSet remains sorted in the natural order in ascending order either it is integer or string.
- TreeSet uses the tree algorithm internally.
- LinkedHashSet, elements remain in the order they added.
- LinkedHashSet uses LinkedList internally to process the data.
- Declarations:
Set set1=new HashSet<>();
Set set2=new HashSet<String>();
Set<String> set3=new HashSet<String>();
HashSet set4=new HashSet<>();
Map
- Classes: Commonly used classes.
- HashMap
- TreeMap
- LinkedHashMap
- Key points:
- Elements stored in key-value pair
- Key can be of any data type
- The duplicate entry of key is allowed, but in real scenarios, it is not ideal.
- Searching any value using the key is very fast.
- The traversing of the map using values is a slow process
- In HashMap, keys are not in order. They can change runtime.
- In TreeMap, keys are sorted in the natural order.
- LinkedHashMap, Keys remain in the order they have been added.
- Declarations:
Map map1=new HashMap<>();
Map map2=new HashMap<String, String>();
Map<String, String> map3=new HashMap<String, String>();
Map<Integer, String> map4=new HashMap<Integer, String>();
Queue:
- Class: Commonly used classes.
- ArrayBlockingQueue
- LinkedList
- PriorityQueue
- Key points:
- As in real life, elements added from one end and removed from another end. Like FIFO, First In First Out concept.
- It can store any type of non-primitive data type.
- Unlike other collections, we have to define the limit of the elements which can be stored in a queue.
- Indexing of elements not available.
- Items(elements) can only be added after the last added item in the Queue.
- Elements can only be removed from the Head of the Queue. It cannot be added or removed from any particular place. This means from the first element added in the queue.
- Declarations:
Queue queue1=new ArrayBlockingQueue<>(3);
Queue q2=new ArrayBlockingQueue<String>(3);
Queue<String> q3=new ArrayBlockingQueue<String>(3);
ArrayBlockingQueue<Integer> q4=new ArrayBlockingQueue<Integer>(4);
TestNG:
- TestNG – 1 || Introduction and benefits of TestNG Framework.
- TestNG – 2 || Installation process and a sample program of TestNG.
- TestNG – 3 || Create and execute multiple Test Cases.
- TestNG – 4 || Let’s understand @Test Annotation and attributes.
- TestNG – 5 || Understand Assertion in TestNG.
- TestNG – 6 || Use of @BeforeMethod and @AfterMethod.
- TestNG – 7 || Use of @BeforeClass and @AfterClass.
- TestNG – 8 || Creation and execution of Test Suites.
- TestNG – 9 || Let’s move deep into the Test Suites.
- TestNG – 10 || Use @BeforeTest and @AfterTest Annotations.
- TestNG – 11 || Groups attribute with @Test Annotation.
- TestNG – 12 || Use of @BeforeGroups & @AfterGroups.
- TestNG – 13 || Use of @BeforeSuite & @AfterSuite.
- TestNG – 14 || DataProvider annotation & attribute.
- TestNG – 15 || DataProvider with parameters.
- TestNG – 16 || Access data from Excel sheet using DataProvider.
- TestNG – 17 || Passing multiple Parameters in testng xml.
- TestNG – 18 || Multiple Browser and Parallel Execution in TestNG.
- TestNG -19 || Concept of Parallel Execution.
- TestNG – 20 || Run TestNG Program using main() method.
- Computer Basics -1 || Introduction and Structure of Computer.
- Computer Basics -2 || Types of Computers and Usage.
- Computer Basics -3 || What are the different types of Software?
- Computer Basics -4 || Importance of Operating System(OS).
- Computer Basics -5 || Understanding of Number System.
- Computer Basics -6 || Understanding MS-DOS Commands.
- Computer Basics -7 || Important Features of MS-Word.
- Computer Basics -8 || Let’s learn the usage of MS-Excel.
- Computer Basics -9 || Understand and Implement Data Validation in Excel.
- Computer Basics -10 || How to apply Filter in a data set in Excel?
- Computer Basics -11 || Using Charts in place of Data Tables in Excel.
- Computer Basics -12 || Advantages of PivotCharts over Simple Charts in Excel.
- Computer Basics -13 || Creating pivot charts/tables in Excel.
- Abbreviations to Full-Forms in Computer Basics.
- Basic Java – 1 || Understand Java before start learning JAVA.
- Basic Java – 2 || Variables and Data Types used in JAVA.
- Basic Java – 3 || Understanding Class, Objects, Methods in Java.
- Basic Java – 4 || More on methods(Return Type and Parameters)
- Basic Java – 5 || Methods- Call by Value and Call by Reference in Java.
- Basic Java – 6 || Understanding of Constructor and Destructor in JAVA.
- Basic Java – 7 || Static Variables and Methods.
- Basic Java – 8 || Lets learn about Arrays in Java.
- Basic Java – 9 || Performing multiple operations using Java Operators.
- Basic Java – 10 || Conditions (If and Switch) in JAVA.
- Basic Java – 11 || for and for-each in Java. (Loops Part-1)
- Basic Java – 12 || Alternate looping concepts while and do-while. (Loops Part-2)
- Basic Java – 13 || Decimal values v/s Octal base(8) values in JAVA.
- Basic Java – 14 || Learn about String literals in Java.
- Basic Java – 15 || Runtime User Input using Scanner Class (Part-1).
- Basic Java – 16 || Runtime User Input using BufferedReader Class (Part-2).
- Basic Java – 17 || Runtime User Input using Console Class (Part-3).
- Basic Java – 18 || Difference between break and continue keywords.
- Basic Java – 19 || Sending Email using Java (Part-1).
- Basic Java – 20 || Sending Email with attachment using Java (Part-2).
- Basic Java – 21 || Stack memory and Heap memory in Java.
- Basic Java – 22 || Let’s learn more about String.
- Basic Java – 23 || String, StringBuffer & StringBuilder in Java.
- Basic Java – 24 || Exception Handling using Try Catch.
- Collection Types and features in Java. (Collection-1)
- Use of ArrayList Class in Java. (Collection-2)
- LinkedList Class implementation and usage. (Collection-3)
- Using HashMap in Java. (Collection-4)
- Using HashSet in Java. (Collection -5)
- File Handling | Reading data from word document(.doc or .docx) in JAVA.
- File Handling | Reading data from Excel files (.xls or .xlsx) using JAVA.
- File Handling | Writing data into an Excel(.XLSX or .XLS) File.
- File Handling | Implement formatting in Excel using Java.
- File Handling | Copy existing data from one workbook to another workbook in Java.
- File Handling | Reading data from PDF file using JAVA.
- File Handling || Traverse folders and subfolders in Java.
- File Handling || Reading and Writing data from a text file.
- File Handling || Multiple file creation using template based input data.
- Framework || Simple example of Key Driven Framework using excel sheet in Selenium(JAVA).
- QnA || How to use Constructors in Abstract class?
- QnA | Difference between Integer and int keywords.
- QnA | Can main method be overloaded?
- QnA | How do I reverse a String/Sentence in Java?
- QnA | Perform Multiplication and Division without * or / or % operators.
- QnA | How do I get the default value of data type?
- QnA | How to split String if it contains period symbol (.) in between?
- Different ways to Reverse a String in Java.
- Copy formatting & style of cells from one sheet to another.
- Getting IP address and Hostname using InetAddress Class.
- User inputs via Command Prompt using arguments of main() method of a class.
- Program for List and ArrayList in Java.
- Useful methods and implementation under Scanner Class.
- Swapping two variable values without using any third variable.
- Difference between int x= 10 and y=010 in Java.
- Parameterized Constructors v/s Setter and Getter function in JAVA.
- Override a Static Method.
- Selenium-12 || Select Class to handle drop-down.
- Selenium-11 || Use of Actions and Action Classes.
- Selenium-10 || Taking Screenshots using Selenium
- Selenium-9 || Understanding WebDriver API.
- Selenium-8 || Implementing Wait(s) in Selenium.
- Selenium-7 || Let’s learn to create complex XPath.
- Selenium-6 || XPath is the best way to locate web elements.
- Selenium-5 || Locating web elements using various type of Locators.
- Selenium-4 || Handling multiple web browsers.
- Selenium-3 || First program using Selenium Web Driver.
- Selenium-2 || Let’s learn Selenium IDE.
- Selenium-1 || Understanding Selenium and Selenium WebDriver.
- JIRA Tutorials-2 || Implement Search and Filter on JIRA Issues.
- JIRA Tutorials-1 || Basic understanding of JIRA.