🧭 Day 16: Iterating Through ArrayList in Java Today, I learned different ways to loop through an ArrayList — each method gives flexibility based on what you need. 💡 What I Learned Today For Loop – Access elements using index. Enhanced For Loop (for-each) – Simple and clean way to read data. Iterator – Best when you want to remove elements while looping. ListIterator – Can iterate both forward and backward. forEach() Method – Uses lambda expressions for modern Java style. 🧩 Example Code import java.util.*; public class IterateArrayList { public static void main(String[] args) { ArrayList<String> names = new ArrayList<>(); names.add("Raj"); names.add("Arun"); names.add("Kumar"); // For loop for (int i = 0; i < names.size(); i++) System.out.println("For Loop: " + names.get(i)); // For-each loop for (String name : names) System.out.println("For-each: " + name); // Iterator Iterator<String> it = names.iterator(); while (it.hasNext()) System.out.println("Iterator: " + it.next()); // forEach method names.forEach(n -> System.out.println("Lambda: " + n)); } } 🗣️ LinkedIn Caption 🔁 Day 16 – Iterating through ArrayList in Java Today I explored 5 powerful ways to loop through ArrayLists — from classic for-loops to modern lambdas. Each method offers unique control and flexibility when working with lists. #Java #CoreJava #ArrayList #LearnJava #Programming
"5 ways to iterate through ArrayList in Java"
More Relevant Posts
-
🕒 𝗧𝘄𝗼 𝗠𝗶𝗻𝘂𝘁𝗲 𝗣𝗿𝗲𝗽 — 𝗟𝗮𝗺𝗯𝗱𝗮𝘀 & 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝗮𝗹 𝗜𝗻𝘁𝗲𝗿𝗳𝗮𝗰𝗲𝘀 (𝗝𝗮𝘃𝗮) Let’s clear this once and for all 👇 ✨ 𝗪𝗵𝗮𝘁’𝘀 𝘁𝗵𝗲 𝗿𝗲𝗮𝗹 𝗿𝗲𝗹𝗮𝘁𝗶𝗼𝗻 𝗯𝗲𝘁𝘄𝗲𝗲𝗻 𝗟𝗮𝗺𝗯𝗱𝗮 & 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝗮𝗹 𝗜𝗻𝘁𝗲𝗿𝗳𝗮𝗰𝗲? A Lambda Expression (→) in Java is nothing but a short-hand implementation of a Functional Interface — an interface having exactly one abstract method. 👉 The Lambda provides the implementation for that single method, removing the boilerplate of anonymous inner classes. 💭 𝗕𝗲𝗳𝗼𝗿𝗲 𝗝𝗮𝘃𝗮 𝟴 — 𝘄𝗲𝗿𝗲 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝗮𝗹 𝗜𝗻𝘁𝗲𝗿𝗳𝗮𝗰𝗲𝘀 𝗲𝘃𝗲𝗻 𝘂𝘀𝗲𝗳𝘂𝗹? Absolutely ✅ They existed long before Lambdas — think of Runnable, Callable, or Comparator. 👉 We used them via anonymous inner classes to pass behavior. 👉 Java 8 simply brought syntactic elegance + functional style. 🚫 𝗖𝗮𝗻 𝘄𝗲 𝘂𝘀𝗲 𝗟𝗮𝗺𝗯𝗱𝗮𝘀 𝘄𝗶𝘁𝗵𝗼𝘂𝘁 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝗮𝗹 𝗜𝗻𝘁𝗲𝗿𝗳𝗮𝗰𝗲𝘀? No 🙅♂️ Lambdas must target a Functional Interface. They can’t exist independently — the compiler converts them into an instance of that interface behind the scenes. 🧩 𝗜𝗻 𝘀𝗵𝗼𝗿𝘁: 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝗮𝗹 𝗜𝗻𝘁𝗲𝗿𝗳𝗮𝗰𝗲 → 𝗗𝗲𝗳𝗶𝗻𝗶𝘁𝗶𝗼𝗻 𝗟𝗮𝗺𝗯𝗱𝗮 𝗘𝘅𝗽𝗿𝗲𝘀𝘀𝗶𝗼𝗻 → 𝗜𝗺𝗽𝗹𝗲𝗺𝗲𝗻𝘁𝗮𝘁𝗶𝗼𝗻 Together, they brought 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝗮𝗹 𝗣𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗶𝗻𝗴 flavor to Java 🚀 💡 𝗙𝗼𝗹𝗹𝗼𝘄-𝘂𝗽 𝗾𝘂𝗲𝘀𝘁𝗶𝗼𝗻𝘀 𝘁𝗼 𝗿𝗲𝗳𝗹𝗲𝗰𝘁 𝗼𝗻: • Why is @FunctionalInterface annotation optional but recommended? • Can a Functional Interface have default or static methods? • What happens if a second abstract method is added accidentally? • How does type inference work with Lambdas? • Difference between Anonymous Class vs Lambda in memory and scope? • How are Lambdas implemented internally (invokedynamic)? Follow Paras Gupta, and do share with others. Happy Learning ❣️ Try to engage with answers or your experience to the relevant questions too. #Java #FunctionalProgramming #LambdaExpressions #JavaInterviewPrep #CodeWisdom #2MinPrep
To view or add a comment, sign in
-
Tired of writing repetitive getters, constructors, equals(), hashCode(), and toString() methods? Record Classes, introduced in Java 16, offer a clean, immutable, and compact way to model data! 🚀 ⸻ 🧱 Before Records (Traditional Java Class) public class User { private final String name; private final int age; public User(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } @Override public String toString() { return "User[name=" + name + ", age=" + age + "]"; } } 😩 Lot of boilerplate just to hold data! ⸻ ⚡ With Record Classes (Java 16+) public record User(String name, int age) {} That’s it. Java automatically generates: • Constructor • Getters • equals() and hashCode() • toString() All while keeping the class immutable by default. ⸻ 🎯 Why Records Are Awesome • Perfect for DTOs, API responses, and simple data models • Built-in immutability • Far less boilerplate, far more clarity • Great performance and readability 👉 Stay with me for more new features of Java! #Java #Programming #CodeTips #Java16 #Records #CleanCode #Developers
To view or add a comment, sign in
-
⚙️ Deep Dive into Java Interfaces, Exception Handling, and Collections Framework Ever wondered how Java manages polymorphism, abstraction, and safe error handling — all while keeping performance in check? 🤔 That’s exactly what I explored this week while learning Java in depth. Here’s a quick breakdown of what I learned 👇 💥 1️⃣ Exception Handling — Writing Robust Code Learned about throw, throws, and the difference between checked & unchecked exceptions. Explored how try, catch, and finally blocks work under the hood. Understood how Java ensures program stability even when errors occur. 📚 2️⃣ Collections Framework — Efficient Data Management Understood why Java Collections are used instead of arrays. Studied the time complexity and internal working of List, Set, and Map. Learned how data structures like HashMap, LinkedHashSet, and ArrayList are implemented internally. 🧩 3️⃣ Interfaces — The Power of Abstraction Understood how interfaces help achieve polymorphism and multiple inheritance in Java. Learned that interfaces can extend other interfaces but cannot implement them. Explored default methods (Java 8+), which allow method bodies inside interfaces. Attached my handwritten summary 📸 for a quick glance at these key interface concepts. 🚀 Takeaway: Understanding these topics gave me deeper insight into how Java ensures modularity, flexibility, and runtime efficiency — the backbone of backend development. #Java #BackendDevelopment #LearningJourney #JavaDeveloper #ExceptionHandling #CollectionsFramework #Interface #OOP #SpringBoot #CodingJourney #SoftwareDevelopment #TechLearning
To view or add a comment, sign in
-
💡 The final Keyword in Inheritance: Ensuring Immutability 🔒 The final keyword in Java is a powerful tool for imposing limitations and ensuring immutability. When applied in the context of inheritance, it dictates how classes and methods can be extended or modified. 1. final Classes (No Inheritance) When you declare a class as final, it cannot be inherited by any other class. Syntax: public final class ParentClass { ... } Effect: You cannot create a subclass from it (e.g., you cannot say class ChildClass extends ParentClass). Use Case: Often used for security and integrity. Core Java classes like String and wrapper classes (e.g., Integer) are final to prevent their core behavior from being altered. 2. final Methods (No Overriding) When you declare a method as final in a parent class, that method cannot be overridden by any child class. Syntax: public final void calculateSalary() { ... } Effect: Any class inheriting from the parent must use the parent's exact implementation of that method. Use Case: Used to protect critical business logic or behavior that must remain consistent across the entire hierarchy, ensuring no subclass breaks the intended functionality. 3. final Variables (No Reassignment) While not strictly an inheritance rule, final variables are crucial to understand within objects. Effect: A final variable cannot be reassigned once it has been initialized. Use Case: Used to create constants (static final PI = 3.14) or ensure that an object's state (like an id) remains unchanged after the constructor runs. Mastering the final keyword is key to designing rigid, reliable, and secure class hierarchies. Thank you sir Anand Kumar Buddarapu,Saketh Kallepu,Uppugundla Sairam,Codegnan #Java #OOP #ProgrammingTips #FinalKeyword #Inheritance #SoftwareDevelopment
To view or add a comment, sign in
-
-
Understanding Method Overloading & Method Overriding in Java 💡 Both concepts seem similar — but they’re not! Here’s the difference 👇 🔹 Method Overloading (Compile-Time Polymorphism) ➡️ Same method name, different parameters ➡️ Happens within the same class ➡️ Resolved at compile time class Calculator { int add(int a, int b) { return a + b; } double add(double a, double b) { return a + b; } // Overloaded } 📘 Use when you want flexibility with inputs but same logic. 🔹 Method Overriding (Runtime Polymorphism) ➡️ Same method name & parameters ➡️ Happens in subclass ➡️ Resolved at runtime class Animal { void sound() { System.out.println("Animal sound"); } } class Dog extends Animal { @Override void sound() { System.out.println("Bark"); } } 📘 Use when a child class modifies parent behavior. 🔑 Key Takeaways ✅ Overloading → same method name, different parameters ✅ Overriding → same method signature, different behavior ✅ Overloading = Compile-time | Overriding = Runtime ✨ #Java #OOPs #MethodOverloading #MethodOverriding #JavaLearning
To view or add a comment, sign in
-
☕ Understanding final, finally, and finalize() in Java These three keywords may sound similar, but they serve completely different purposes in Java! Let’s clear the confusion 👇 🔹 final (Keyword) Used for declaring constants, preventing inheritance, or stopping method overriding. final variable → value can’t be changed final method → can’t be overridden final class → can’t be inherited 👉 Example: final int MAX = 100; 🔹 finally (Block) Used in exception handling to execute important code whether or not an exception occurs. Perfect for closing files, releasing resources, or cleaning up memory. 👉 Example: try { int a = 10 / 0; } catch (Exception e) { System.out.println("Error"); } finally { System.out.println("This will always execute"); } 🔹 finalize() (Method) It’s a method called by the Garbage Collector before an object is destroyed. Used to perform cleanup operations before object removal (though it’s deprecated in newer Java versions). 👉 Example: protected void finalize() { System.out.println("Object destroyed"); } --- 💡 Quick Summary: Keyword Used For Level final Restriction (variable, method, class) Compile-time finally Cleanup code block Runtime finalize() Object cleanup (GC) Runtime --- #Java #Programming #FinalFinallyFinalize #JavaDeveloper #ExceptionHandling #TechLearning #Coding
To view or add a comment, sign in
-
-
Day 90 of #100DaysOfCode Solved Squares of a Sorted Array in Java 🔠 Approach The task was to take an array of integers sorted in non-decreasing order, square each number, and then return the result array also sorted in non-decreasing order. Brute-Force Method The solution implemented here is a straightforward two-step brute-force approach: Squaring: I iterated through the input array nums and replaced each element with its square (i.e., nums[i] * nums[i]). This handles both positive and negative numbers correctly. Sorting: After squaring all elements, I used Java's built-in Arrays.sort(nums) method to sort the entire array. While correct, this approach has a time complexity dominated by the sorting step, which is O(NlogN), where N is the number of elements. The runtime of 10 ms shows that a more efficient, two-pointer approach (which can solve this in O(N) time) is generally preferred for optimal performance. #Java #100DaysOfCode #LeetCode #CodingChallenge #Algorithms #Array #Sorting #ProblemSolving
To view or add a comment, sign in
-
-
🚀 Today I Learned About the static Keyword in Java While learning Java today, I discovered why we use the static keyword — it helps in efficient memory management and avoids redundancy. 💡 Why We Use static The static keyword allows us to share common data or behavior across all objects of a class instead of duplicating it. It ensures memory efficiency and consistency. 🧩 When to Use static Before declaring a variable as static, ask: “Is this value common to all objects?” If yes, make it static. Example: In a Bank Application, the interest rate is common for all customers. So it should be declared as a static variable: class Bank { static double interestRate = 7.5; } ⚙️ Static Block – Real-World Example A static block runs once when the class is loaded, not every time an object is created. It’s ideal for initialization tasks like loading configuration files or connecting to a database. class DatabaseUtil { static { System.out.println("Loading Database Driver..."); // Code to initialize DB connection } } This ensures one-time setup and avoids repeated execution. ✨ In Summary static variable → shared data static method → shared behavior static block → one-time initialization ✅ Advantage: Saves memory and improves performance 💬 How did you first understand the concept of static in Java? See an example code that usage of static variable. #Java #OOP #CodingJourney #StaticKeyword #SoftwareDevelopment #TodayILearned
To view or add a comment, sign in
-
-
We all wrote our first ‘Hello World’ in Java… but have you seen how far Java has come? ------------------------ From writing console apps in Java 8 to building AI-ready systems in Java 25, here’s a quick timeline every developer should know 👇 🧩 Java 8 (2014) — The Game Changer Lambda Expressions 🌀 Stream API for functional-style operations Optional Class to handle nulls safely Default & Static Methods in Interfaces Date & Time API (java.time) ⚡ Java 11 (2018) — The Modern Era var keyword for local variable inference New HTTP Client API String enhancements (isBlank, lines, repeat) Files.readString() and writeString() Removed Java EE and CORBA modules 🛠️ Java 17 (2021) — The LTS Powerhouse Sealed Classes (controlled inheritance) Records (concise data carriers) Text Blocks for multiline strings Pattern Matching for instanceof Strong encapsulation of JDK internals 🚀 Java 21 (2023) — The Performance Leap Virtual Threads (Project Loom) ⚡ Record Patterns & Pattern Matching for Switch Sequenced Collections String Templates (preview) Scoped Values (for lightweight thread-local data) 🤖 Java 25 (2025) — The Future Arrives Unified Memory Management (AI-optimized GC) Enhanced Native Memory API Faster Startup & Reduced Warmup Time Better JIT Compilation with Project Babylon Deep learning model embedding support (experimental) Java didn’t just evolve — it adapted, simplified, and redefined the developer experience. Each version didn’t just fix bugs — it changed how we think in code. 💭 👉 Which Java version changed the way you code? #Java #Programming #TechTrends #BackendDevelopment #SoftwareEngineering #SpringBoot #Innovation #DeveloperCommunity #CodeLife #JavaDeveloper #TechInsights #LearningEveryday #CleanCode #Microservices #DevTalks #FullStackDeveloper #cfbr #ai #DataScience #Requirement
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