🚀 Java Collections Framework & ArrayList – Simple Notes While learning Java, I explored the Collections Framework and understood how it helps in storing and managing data efficiently. 🔹 What is Collections Framework? It is a group of classes and interfaces used to store, manipulate, and process data easily. 🔹 Why it was introduced? Earlier, we used arrays which had many limitations (fixed size, difficult operations). To overcome this, Java introduced Collections. 📌 Common Interfaces & Classes - List → ArrayList, LinkedList - Set → HashSet, TreeSet - Queue → Deque - Map → HashMap 💡 What is ArrayList? - A resizable (dynamic) array - Stores objects (not primitive data types) - Allows duplicate values - Maintains insertion order - Allows null values ⚙️ Constructors of ArrayList - "ArrayList()" → default - "ArrayList(int capacity)" → with initial size - "ArrayList(Collection c)" → from another collection 📈 Capacity Concept - Default capacity = 10 - When full, it increases using: 👉 "(current size × 3/2) + 1" 🔁 Ways to Access Elements 1. For loop 2. For-each loop 3. Iterator (forward only) 4. ListIterator (forward & backward) 🛠️ Important Methods - "add()" → add element - "add(index, value)" → add at position - "get()" → access element - "set()" → update value - "remove()" → delete element - "size()" → number of elements - "isEmpty()" → check empty or not - "contains()" → check element - "indexOf()" / "lastIndexOf()" → find position - "clear()" → remove all - "subList()" → get part of list - "trimToSize()" → reduce memory 📌 When to Use ArrayList? ✔ When you need dynamic size ✔ When duplicates are allowed ✔ When order matters ✔ When frequent read operations are needed ✨ In short: ArrayList makes data handling easy, flexible, and efficient compared to traditional arrays. #Java #Collections #ArrayList #Programming #Learning #CodingJourney
Java Collections Framework & ArrayList Basics
More Relevant Posts
-
🚀 Understanding TreeSet in Java – Clean, Sorted & Powerful! While working with Java Collections, I explored TreeSet, a powerful implementation of the Set interface that ensures data is always sorted and unique. Here are some key insights I learned: 🔹 Sorted Order TreeSet automatically stores elements in ascending sorted order, making it ideal when ordering is important. 🔹 Traversal Mechanism It internally follows Inorder Traversal (LVR), which is why elements remain sorted. 🔹 Data Type TreeSet stores only homogeneous data, as elements must be mutually comparable. 🔹 No Duplicates Allowed Being a Set, it does not allow duplicate values. 🔹 No Null Values TreeSet does not allow null, as it relies on comparison logic. 🔹 Insertion Order Not Preserved Unlike some collections, it does not maintain insertion order. 🔹 Initial Capacity TreeSet does not define an initial capacity (internally managed). 🔹 Constructors TreeSet provides 5 different constructors for flexibility. 🔹 Internal Data Structure It is based on a Binary Search Tree (BST) (specifically a self-balancing tree like Red-Black Tree). 💡 Accessing Elements in TreeSet Since TreeSet does not support indexing, we use: ✔️ For-each loop ✔️ Iterator ✔️ Descending Iterator ❌ Not supported: Traditional for loop (index-based) ListIterator 🎯 When to Use TreeSet? Use TreeSet when you need: ✔️ Sorted data ✔️ Unique elements ✔️ Efficient searching and retrieval 📌 Mastering collections like TreeSet helps in writing cleaner and more efficient Java programs. #Java #CollectionsFramework #TreeSet #Programming #JavaDeveloper #LearningJourney TAP Academy
To view or add a comment, sign in
-
-
🚀 Core Java Learning Journey Explored Types of Constructors in Java (In Depth) ☕ 🔹 Constructors are special methods used to initialize objects when they are created. They help in setting up the initial state of an object. 📌 1️⃣ Default Constructor (Implicit) - Provided automatically by Java if no constructor is defined - Does not take any parameters - Initializes instance variables with default values: - "int → 0" - "boolean → false" - "char → '\u0000'" - "reference types → null" - Mainly used for basic object creation without custom initialization 💡 Example: class Student { int id; String name; } 👉 Here, Java internally provides a default constructor --- 📌 2️⃣ No-Argument Constructor (Explicit) - Defined by the programmer without parameters - Used to assign custom default values instead of Java defaults - Improves control over object initialization 💡 Example: class Student { int id; String name; Student() { id = 100; name = "Default"; } } --- 📌 3️⃣ Parameterized Constructor - Accepts parameters to initialize variables - Allows different objects to have different values - Helps in making code more flexible and reusable 💡 Example: class Student { int id; String name; Student(int id, String name) { this.id = id; this.name = name; } } --- 🎯 Key Takeaway: - Default constructor → Automatic initialization - No-argument constructor → Custom default values - Parameterized constructor → Dynamic initialization Learning and growing at Dhee Coding Lab 💻 #Java #CoreJava #Constructors #OOP #Programming #LearningJourney #FullStackDevelopment
To view or add a comment, sign in
-
🚀 Core Java Learning Journey Explored Instance, Static, and Local Variables in Java ☕ 🔹 Local Variables - Declared inside methods, constructors, or blocks - Accessible only within that specific scope - Must be initialized before use - Stored in stack memory 🔹 Instance Variables - Declared inside a class but outside methods - Belong to each object of the class - Each object has its own copy - Stored in heap memory 🔹 Static Variables - Declared using the "static" keyword - Shared among all objects of the class - Only one copy exists - Stored in method area 💡 Example: class Demo { int instanceVar = 10; // Instance variable static int staticVar = 20; // Static variable void display() { int localVar = 5; // Local variable System.out.println(localVar); } } 🎯 Key Takeaway: Understanding variable types helps in writing efficient and optimized Java programs by managing memory and scope effectively. Learning and growing at Dhee Coding Lab 💻 #Java #CoreJava #Variables #OOP #Programming #LearningJourney #FullStackDevelopment
To view or add a comment, sign in
-
🚀 Core Java Learning Journey Explored Variables in Java ☕ 🔹 What is a Variable? A variable is a container used to store data values in a program. Each variable has a name, type, and value. 📌 Types of Variables in Java: ✅ Local Variables - Declared inside methods, constructors, or blocks - Accessible only within that scope - Must be initialized before use ✅ Instance Variables - Declared inside a class but outside methods - Belong to objects - Each object has its own copy ✅ Static Variables - Declared using "static" keyword - Shared among all objects of the class - Memory allocated only once 💡 Example: "int age = 21;" "String name = "Java";" 🎯 Key Takeaway: Variables are the basic building blocks of any Java program used to store and manage data efficiently. Learning and growing at Dhee Coding Lab 💻 #Java #CoreJava #Variables #Programming #LearningJourney #FullStackDevelopment
To view or add a comment, sign in
-
🚀 Core Java Learning Journey Explored Explicit and Implicit Packages in Java ☕ 🔹 Implicit Package (Default Package) - When no package statement is written, the class belongs to the default (unnamed) package - Java automatically places the class in this package - Suitable for small programs or beginners 📌 Example: class Demo { public static void main(String[] args) { System.out.println("Default Package"); } } 👉 No "package" statement → implicit/default package --- 🔹 Explicit Package - Created by the programmer using the "package" keyword - Helps organize classes into a proper structure - Used in real-world applications 📌 Example: package com.myapp; public class Demo { public static void main(String[] args) { System.out.println("Explicit Package"); } } --- 📌 Key Differences: ✅ Implicit → No package statement, simple usage ✅ Explicit → Defined using "package", better organization ✅ Implicit → Not suitable for large projects ✅ Explicit → Preferred for scalable applications --- 🎯 Key Takeaway: Explicit packages provide better structure and scalability, while implicit packages are mainly used for simple or beginner-level programs. Learning and growing at Dhee Coding Lab 💻 #Java #CoreJava #Packages #Programming #LearningJourney #FullStackDevelopment
To view or add a comment, sign in
-
Learning Priority Queue in Java Recently, I explored the concept of Priority Queue in Java, and it gave me a strong understanding of how efficient data handling works when priority matters over order. 🔹 Why Priority Queue? Unlike normal queues (FIFO), a Priority Queue processes elements based on their priority (min or max), which makes it extremely useful in scenarios like scheduling, real-time systems, and optimization problems. 🔹 Key Learnings: How Priority Queue is implemented using a heap (min-heap by default) Syntax and basic operations in Java Time complexity for insertion and deletion: O(log n) How ordering works internally without full sorting 🔹 Java Syntax Example: PriorityQueue<Integer> pq = new PriorityQueue<>(); pq.add(10); pq.add(5); pq.add(20); System.out.println(pq.peek()); // Smallest element pq.poll(); // Removes smallest element 🔹 Problems I Practiced: ✔️ Kth Smallest Element ✔️ Kth Largest Element These problems helped me understand how to use min-heap and max-heap effectively to optimize performance instead of sorting the entire array. 💡 Takeaway: Priority Queue is a powerful tool when you need efficient access to the smallest or largest element without sorting everything. Looking forward to applying this in more real-world problems and system design scenarios! 💻🔥 big thanks to Pratyush Narain #Java #DataStructures #PriorityQueue #DSA #Learning #CodingJourney
To view or add a comment, sign in
-
-
🚀 Day 3 of My Java Learning Journey – Control Statements in Java Today, I learned how programs make decisions and repeat tasks using Control Statements in Java. These are essential for building logic in real-world applications. 🔹 Types of Control Statements: ➤ 1. if-else Statement Used for decision making 👉 Executes code based on conditions if (x > 10) { System.out.println("Greater than 10"); } else { System.out.println("Less than or equal to 10"); } ➤ 2. switch Statement Used when we have multiple choices 👉 Cleaner alternative to multiple if-else switch(day) { case 1: System.out.println("Monday"); break; case 2: System.out.println("Tuesday"); break; default: System.out.println("Invalid day"); } ➤ 3. Loops (Repetition Statements) Used to execute code multiple times ✔ for loop – when number of iterations is known ✔ while loop – when condition is checked before execution ✔ do-while loop – executes at least once for(int i = 1; i <= 5; i++) { System.out.println(i); } 💡 Key Learning: Control statements help in decision-making and repeating tasks, making programs smarter and more dynamic. 📌 Practiced writing programs using if-else, switch, and loops to strengthen my logic-building skills. #Java #Programming #CodingJourney #LearningJava #ControlStatements #100DaysOfCode #Developers 🚀
To view or add a comment, sign in
-
Day 58/200 - Java Learning Journey 🌱 ✨ Sharing what I learned today in Java. 📚 Today I learned about Encapsulation in Java Today's Topic: Encapsulation ✴️ Encapsulation: 👉 It means wrapping(hiding) the data (variables,methods) and providing the controlled access. 🔯 Advantages/Features: 🔺 Security 🔺 Hiding the data 🔺 Controlled access 🔺 Validation 🔺 Flexibility 🔆 How to hide the data ❓ ▪️ By making those variables,methods to be private. 1️⃣ Setters: 👉 These are used to set the data. 2️⃣ Getters: 👉 Get or return the data. 🔸 Syntax: For setters: access_modifier returntype(void) settersName(){ -------------//data } For getters: access_modifier returntype gettersName(){ return value; } 💠 Without setters we cant use getters. 💠 Without getters we can set the value by using setters. 👎 Drawback: 👉 In Encapsulation for each and every variables we need to use setters to set the value to those variables. #Java#Encapsulation#OOPS#DailyLearning#Consistency#Meghana M#10000 Coders#
To view or add a comment, sign in
-
-
💡 Java Concept: Exception Handling in Method Overriding 🚀 While learning Java, I discovered an important rule that many beginners miss 👇 👉 How exceptions behave when a child class overrides a parent method 🔹 Simple Definition When a subclass overrides a method, it cannot throw broader or new checked exceptions than the superclass. 🧠 Golden Rule 👉 Child class can: ✔ Throw same exception ✔ Throw smaller (child) exception ✔ Throw unchecked exception ✔ Throw no exception 👉 Child class cannot: ❌ Throw new checked exception (not in parent) 🔴 Example (Wrong ❌) class Parent { void show() { } } class Child extends Parent { void show() throws IOException { // ❌ Compile Error System.out.println("Child"); } } 👉 Reason: Parent didn’t declare any exception 🟢 Example (Correct ✅) class Parent { void show() throws Exception { System.out.println("Parent"); } } class Child extends Parent { void show() throws ArithmeticException { System.out.println("Child"); } } 👉 Allowed because: ✔ ArithmeticException is unchecked ✔ OR smaller than parent exception 💡 Why this rule exists? To maintain runtime safety and avoid unexpected errors Parent p = new Child(); p.show(); 👉 Compiler only knows Parent → so child cannot introduce new checked exceptions 🔥 Easy Trick to Remember 👉 "Child can reduce risk, but not increase it" 📌 Small concept, but very important for interviews & real-world coding! #Java #OOP #ExceptionHandling #Programming #Developers #Coding #SoftwareEngineering #LearningJourney
To view or add a comment, sign in
-
-
🚀 Strengthening My Understanding of Java Collections Framework Recently, I’ve been focusing on learning the Java Collections Framework, an essential part of Java used to store, manage, and process data efficiently. Understanding collections is important because it helps developers write cleaner, faster, and more scalable applications. 🔹 Concepts I Explored: ✅ List An ordered collection that allows duplicate elements. Useful when maintaining insertion order is important. Examples: ArrayList, LinkedList ✅ Set A collection that does not allow duplicate values. Best when uniqueness of data is required. Examples: HashSet, TreeSet ✅ Map Stores data in key-value pairs where each key is unique. Very useful for fast lookups and structured data storage. Examples: HashMap, TreeMap ✅ Iterators Used to traverse collection elements one by one in a safe and structured way. ✅ Enhanced For-Loop Provides a cleaner and simpler way to iterate through arrays and collections. ✅ Sorting Collections Sorting helps arrange data in ascending or descending order using methods like Collections.sort(). ✅ Searching Collections Searching helps find elements efficiently using methods like binarySearch(). 💡 Why These Concepts Matter: ✔ Efficient data management ✔ Better performance in applications ✔ Cleaner and reusable code ✔ Improved problem-solving skills ✔ Strong foundation for advanced Java development Learning these concepts is helping me build a stronger base for real-world Java projects and software development. Excited to continue exploring more Java concepts and applying them practically. 💻 Which Java Collection do you use the most in your projects? 👇 #Java #Collections #Programming #SoftwareDevelopment #Coding #JavaDeveloper #Learning #Tech #Developers #ComputerScience
To view or add a comment, sign in
-
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development