<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Harini</title>
    <description>The latest articles on DEV Community by Harini (@harini_magesh_fa40041cf8d).</description>
    <link>https://dev.to/harini_magesh_fa40041cf8d</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3615658%2F5676ec6e-b9c3-477c-9deb-cf76547e8ec1.png</url>
      <title>DEV Community: Harini</title>
      <link>https://dev.to/harini_magesh_fa40041cf8d</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/harini_magesh_fa40041cf8d"/>
    <language>en</language>
    <item>
      <title>Applet, Servlet, and JSP in Java</title>
      <dc:creator>Harini</dc:creator>
      <pubDate>Thu, 25 Jun 2026 15:24:29 +0000</pubDate>
      <link>https://dev.to/harini_magesh_fa40041cf8d/applet-servlet-and-jsp-in-java-46hd</link>
      <guid>https://dev.to/harini_magesh_fa40041cf8d/applet-servlet-and-jsp-in-java-46hd</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Applet?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An Applet is a small Java program that runs inside a web browser or an applet viewer. It was mainly used to create interactive web applications but is now obsolete because modern browsers no longer support it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Runs on the client side.&lt;/li&gt;
&lt;li&gt;Extends the Applet class.&lt;/li&gt;
&lt;li&gt;No main() method.&lt;/li&gt;
&lt;li&gt;Uses lifecycle methods like init(), start(), stop(), and destroy().&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Applets are no longer used in modern Java web development.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Servlet?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A Servlet is a server-side Java program that handles client requests and generates dynamic web content. It runs inside a web server such as Apache Tomcat.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Runs on the server.&lt;/li&gt;
&lt;li&gt;Handles HTTP requests and responses.&lt;/li&gt;
&lt;li&gt;Improves performance by using multithreading.&lt;/li&gt;
&lt;li&gt;Extends HttpServlet.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Servlet Lifecycle&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;init() – Initializes the servlet.&lt;/li&gt;
&lt;li&gt;service() – Processes client requests.&lt;/li&gt;
&lt;li&gt;destroy() – Cleans up resources before removal.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Advantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fast and efficient.&lt;/li&gt;
&lt;li&gt;Platform-independent.&lt;/li&gt;
&lt;li&gt;Secure and scalable.&lt;/li&gt;
&lt;li&gt;Supports session management.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What is JSP (JavaServer Pages)?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;JSP (JavaServer Pages) is a server-side technology used to create dynamic web pages by embedding Java code inside HTML.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simplifies web page development.&lt;/li&gt;
&lt;li&gt;Automatically converted into a servlet by the server.&lt;/li&gt;
&lt;li&gt;Supports HTML, CSS, JavaScript, and Java.&lt;/li&gt;
&lt;li&gt;Ideal for displaying dynamic data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;JSP Lifecycle&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Translation into a Servlet.&lt;/li&gt;
&lt;li&gt;Compilation.&lt;/li&gt;
&lt;li&gt;Initialization (jspInit()).&lt;/li&gt;
&lt;li&gt;Request Processing (_jspService()).&lt;/li&gt;
&lt;li&gt;Destruction (jspDestroy()).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Advantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easy to write and maintain.&lt;/li&gt;
&lt;li&gt;Reduces Java code in web pages.&lt;/li&gt;
&lt;li&gt;Reusable using JSP tags and Expression Language (EL).&lt;/li&gt;
&lt;li&gt;Better separation of presentation and business logic.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>java</category>
      <category>jsp</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Spring and its Features</title>
      <dc:creator>Harini</dc:creator>
      <pubDate>Wed, 24 Jun 2026 07:11:20 +0000</pubDate>
      <link>https://dev.to/harini_magesh_fa40041cf8d/spring-and-its-features-1ebh</link>
      <guid>https://dev.to/harini_magesh_fa40041cf8d/spring-and-its-features-1ebh</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Spring?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Spring is a powerful, lightweight, open-source Java framework used to build enterprise-level applications. It simplifies Java development by providing built-in support for dependency management, database access, web applications, security, transactions, and microservices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why was Spring introduced?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before Spring, developers mainly used Enterprise JavaBeans (EJB) for enterprise applications.&lt;/p&gt;

&lt;p&gt;Problems with EJB:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Complex configuration&lt;/li&gt;
&lt;li&gt;Heavyweight framework&lt;/li&gt;
&lt;li&gt;Difficult to test&lt;/li&gt;
&lt;li&gt;Required application servers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Spring solved these problems by providing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lightweight architecture&lt;/li&gt;
&lt;li&gt;POJO (Plain Old Java Object) programming&lt;/li&gt;
&lt;li&gt;Easy testing&lt;/li&gt;
&lt;li&gt;Flexible configuration&lt;/li&gt;
&lt;li&gt;Better performance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Features of Spring&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;1. Lightweight&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Spring is lightweight because it uses simple Java classes (POJOs).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Dependency Injection (DI)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Spring automatically creates and injects required objects instead of developers creating them manually.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Inversion of Control (IoC)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Normally, developers control object creation.&lt;/p&gt;

&lt;p&gt;In Spring, the IoC Container creates and manages objects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Loose Coupling&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Objects depend on interfaces rather than concrete classes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Aspect-Oriented Programming (AOP)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AOP separates common functionalities from business logic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Logging&lt;/li&gt;
&lt;li&gt;Security&lt;/li&gt;
&lt;li&gt;Transaction management&lt;/li&gt;
&lt;li&gt;Exception handling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Instead of writing logging code in every method, Spring can apply it automatically.&lt;/p&gt;

</description>
      <category>spring</category>
      <category>beginners</category>
      <category>basic</category>
    </item>
    <item>
      <title>Introduction to SQL: Database, DBMS, RDBMS, and types of SQL Commands</title>
      <dc:creator>Harini</dc:creator>
      <pubDate>Wed, 17 Jun 2026 11:51:51 +0000</pubDate>
      <link>https://dev.to/harini_magesh_fa40041cf8d/introduction-to-sql-database-dbms-rdbms-and-sql-commands-lfd</link>
      <guid>https://dev.to/harini_magesh_fa40041cf8d/introduction-to-sql-database-dbms-rdbms-and-sql-commands-lfd</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is SQL?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SQL (Structured Query Language)&lt;/strong&gt; is a standard language used to communicate with databases. It helps us store, retrieve, update, and delete data from a database.&lt;/p&gt;

&lt;p&gt;In simple terms, SQL is the language that allows applications to interact with data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is a Database?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A Database is an organized collection of related data stored electronically.&lt;/p&gt;

&lt;p&gt;Instead of storing information in files, databases store data in a structured manner for easy access and management.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is DBMS?&lt;br&gt;
DBMS (Database Management System)&lt;/strong&gt;&lt;br&gt;
A DBMS is software that allows users to create, manage, and manipulate databases.&lt;/p&gt;

&lt;p&gt;It acts as an interface between the user and the database.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Responsibilities of DBMS&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data storage&lt;/li&gt;
&lt;li&gt;Data retrieval&lt;/li&gt;
&lt;li&gt;Data security&lt;/li&gt;
&lt;li&gt;Backup and recovery&lt;/li&gt;
&lt;li&gt;Data management&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Limitations of DBMS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Traditional DBMS has some drawbacks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data redundancy (duplicate data)&lt;/li&gt;
&lt;li&gt;Data inconsistency&lt;/li&gt;
&lt;li&gt;Difficult relationships between data&lt;/li&gt;
&lt;li&gt;Poor scalability&lt;/li&gt;
&lt;li&gt;Limited multi-user support&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To overcome these issues, RDBMS was introduced.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is RDBMS?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RDBMS (Relational Database Management System)&lt;/strong&gt; is a type of DBMS that stores data in the form of tables (relations). These tables are connected to each other using relationships.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages of RDBMS&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;1. Reduced Data Redundancy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Data is stored only once.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Data Integrity&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ensures data accuracy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Data Security&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Provides user permissions and access control.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Multi-User Support&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Multiple users can access data simultaneously.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Better Relationships&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Tables can be linked using keys.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Types of SQL Commands&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;1. DDL (Data Definition Language)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;DDL commands are used to create, modify, and delete the structure of database objects such as tables, views, and indexes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Commands&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;CREATE – Creates a new database object such as a table, view, or database.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ALTER – Modifies the structure of an existing database object.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;DROP – Permanently deletes a database object and its data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;TRUNCATE – Removes all records from a table while keeping the table structure intact.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. DML (Data Manipulation Language)&lt;/strong&gt;&lt;br&gt;
DML commands are used to insert, update, and delete data stored in database tables.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Commands&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;INSERT – Adds new records into a table.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;UPDATE – Modifies existing records in a table.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;DELETE – Removes one or more records from a table.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. DQL (Data Query Language)&lt;/strong&gt;&lt;br&gt;
DQL commands are used to retrieve and display data from database tables.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Commands&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SELECT – Retrieves data from one or more tables based on specified conditions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. DCL (Data Control Language)&lt;/strong&gt;&lt;br&gt;
DCL commands are used to control user access and permissions on database objects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Commands&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;GRANT – Provides specific privileges or permissions to a user.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;REVOKE – Removes previously granted privileges from a user.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. TCL (Transaction Control Language)&lt;/strong&gt;&lt;br&gt;
TCL commands are used to manage and control transactions in a database.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Commands&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;COMMIT – Permanently saves all changes made during the current transaction.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ROLLBACK – Undoes changes made during the current transaction and restores the previous state.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SAVEPOINT – Creates a checkpoint within a transaction that can be rolled back to later.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>sql</category>
      <category>database</category>
      <category>beginners</category>
      <category>basic</category>
    </item>
    <item>
      <title>Comparable vs Comparator in Java</title>
      <dc:creator>Harini</dc:creator>
      <pubDate>Tue, 16 Jun 2026 15:36:43 +0000</pubDate>
      <link>https://dev.to/harini_magesh_fa40041cf8d/comparable-vs-comparator-in-java-3e1m</link>
      <guid>https://dev.to/harini_magesh_fa40041cf8d/comparable-vs-comparator-in-java-3e1m</guid>
      <description>&lt;p&gt;In Java, sorting is an important operation when working with collections such as ArrayList, LinkedList, and other data structures. For primitive data types, Java already knows how to sort values. However, for custom objects like Student, Employee, or Product, Java needs instructions on how objects should be compared.&lt;/p&gt;

&lt;p&gt;To achieve this, Java provides two interfaces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Comparable – Used for natural sorting.&lt;/li&gt;
&lt;li&gt;Comparator – Used for custom sorting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Comparable Interface&lt;/strong&gt;&lt;br&gt;
Comparable is an interface available in the java.lang package.&lt;/p&gt;

&lt;p&gt;It is used to define the natural ordering of objects. The sorting logic is written inside the class itself using the compareTo() method.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Method&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;int compareTo(T obj)&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Return Values&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Negative -   Current object comes before the given object&lt;/li&gt;
&lt;li&gt;Zero     -   Both objects are equal&lt;/li&gt;
&lt;li&gt;Positive -   Current object comes after the given object&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;When to Use Comparable?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Use Comparable when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A class has one default sorting order.&lt;/li&gt;
&lt;li&gt;The sorting logic is a natural property of the object.&lt;/li&gt;
&lt;li&gt;The sorting criteria rarely change.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Comparator Interface&lt;/strong&gt;&lt;br&gt;
Comparator is an interface available in the java.util package.&lt;/p&gt;

&lt;p&gt;It is used to define custom sorting logic outside the class. Multiple comparators can be created for the same class.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Method&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;int compare(T o1, T o2)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Return Values&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Negative - First object comes before second object&lt;/li&gt;
&lt;li&gt;Zero - Both objects are equal&lt;/li&gt;
&lt;li&gt;Positive - First object comes after second object&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;When to Use Comparator?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Use Comparator when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multiple sorting criteria are required.&lt;/li&gt;
&lt;li&gt;You don't want to modify the original class.&lt;/li&gt;
&lt;li&gt;Different sorting orders are needed at different times.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>java</category>
      <category>backend</category>
      <category>coding</category>
      <category>basic</category>
    </item>
    <item>
      <title>String Program</title>
      <dc:creator>Harini</dc:creator>
      <pubDate>Tue, 16 Jun 2026 15:24:28 +0000</pubDate>
      <link>https://dev.to/harini_magesh_fa40041cf8d/string-program-2e3g</link>
      <guid>https://dev.to/harini_magesh_fa40041cf8d/string-program-2e3g</guid>
      <description>&lt;p&gt;&lt;strong&gt;Reverse the word&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Algorithm&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Start&lt;/li&gt;
&lt;li&gt;Initialize variables:

&lt;ul&gt;
&lt;li&gt;sen → input string&lt;/li&gt;
&lt;li&gt;start = 0&lt;/li&gt;
&lt;li&gt;end = sen.length - 1 (points to last character)&lt;/li&gt;
&lt;li&gt;result = "" (to store final output)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Loop from end of string to beginning:

&lt;ul&gt;
&lt;li&gt;For i = end to 0&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Check condition:

&lt;ul&gt;
&lt;li&gt;If sen[i] == " " (space found) OR i == 0 (start reached)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Decide starting index of word:

&lt;ul&gt;
&lt;li&gt;If i == 0 → start = i&lt;/li&gt;
&lt;li&gt;Else → start = i + 1&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Extract the word:

&lt;ul&gt;
&lt;li&gt;Loop from j = start to end&lt;/li&gt;
&lt;li&gt;Add each character to result&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Add space after word:

&lt;ul&gt;
&lt;li&gt;result += " "&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Update end:

&lt;ul&gt;
&lt;li&gt;end = i - 1 (move to previous word)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Repeat until loop ends&lt;/li&gt;
&lt;li&gt;Print result&lt;/li&gt;
&lt;li&gt;End&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Program&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;start&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;sen&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;YOU ARE HOW&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;len&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;sen&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;end&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;len&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;""&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;  

&lt;span class="k"&gt;for &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sen&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

        &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nx"&gt;start&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;        
        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nx"&gt;start&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;

        &lt;span class="k"&gt;for &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;j&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;start&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;j&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="nx"&gt;end&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;j&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="nx"&gt;sen&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;j&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

        &lt;span class="nx"&gt;end&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;   
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvigjeforvz4s1poz1yqh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvigjeforvz4s1poz1yqh.png" alt=" " width="428" height="110"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>coding</category>
    </item>
    <item>
      <title>Map in Java</title>
      <dc:creator>Harini</dc:creator>
      <pubDate>Tue, 16 Jun 2026 05:31:09 +0000</pubDate>
      <link>https://dev.to/harini_magesh_fa40041cf8d/map-in-java-5df6</link>
      <guid>https://dev.to/harini_magesh_fa40041cf8d/map-in-java-5df6</guid>
      <description>&lt;h2&gt;
  
  
  What is Map in Java?
&lt;/h2&gt;

&lt;p&gt;A &lt;strong&gt;Map&lt;/strong&gt; in Java is a part of the Collections Framework that stores data in the form of &lt;strong&gt;key-value pairs&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Each key is unique.&lt;/li&gt;
&lt;li&gt;Values can be duplicated.&lt;/li&gt;
&lt;li&gt;A key is used to retrieve its corresponding value.&lt;/li&gt;
&lt;li&gt;Map is available in the &lt;code&gt;java.util&lt;/code&gt; package.&lt;/li&gt;
&lt;li&gt;It does not extend the Collection interface.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Real-Time Example
&lt;/h3&gt;

&lt;p&gt;Think of a student's record:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Roll Number (Key)&lt;/th&gt;
&lt;th&gt;Student Name (Value)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;101&lt;/td&gt;
&lt;td&gt;Harini&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;102&lt;/td&gt;
&lt;td&gt;Rahul&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;103&lt;/td&gt;
&lt;td&gt;Kaviya&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Roll Number = Key&lt;/li&gt;
&lt;li&gt;Student Name = Value&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A key uniquely identifies a value.&lt;/p&gt;




&lt;h1&gt;
  
  
  Why Use Map?
&lt;/h1&gt;

&lt;p&gt;Map is useful when you need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fast searching
&lt;/li&gt;
&lt;li&gt;Unique identifiers
&lt;/li&gt;
&lt;li&gt;Key-based data storage
&lt;/li&gt;
&lt;li&gt;Efficient lookup operations&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Examples
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Employee ID → Employee Details&lt;/li&gt;
&lt;li&gt;Username → Password&lt;/li&gt;
&lt;li&gt;Product ID → Product Information&lt;/li&gt;
&lt;li&gt;Roll Number → Student Details&lt;/li&gt;
&lt;li&gt;Country Code → Country Name&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  Syntax
&lt;/h1&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;Map&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;KeyType&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;ValueType&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;map&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;HashMap&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Example
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;Map&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;students&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;HashMap&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Integer → Key&lt;/li&gt;
&lt;li&gt;String → Value&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  Creating a Map
&lt;/h1&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.util.*&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Main&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

        &lt;span class="nc"&gt;Map&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;map&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;HashMap&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;

        &lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;101&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Harini"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;102&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Rahul"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;103&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Kaviya"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

        &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="o"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;101&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nc"&gt;Harini&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;102&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nc"&gt;Rahul&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;103&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nc"&gt;Kaviya&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  Important Methods in Map
&lt;/h1&gt;

&lt;h2&gt;
  
  
  1. put()
&lt;/h2&gt;

&lt;p&gt;Used to insert key-value pairs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;101&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Harini"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Example
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;Map&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;map&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;HashMap&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;

&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Java"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Python"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="o"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nc"&gt;Java&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nc"&gt;Python&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  2. get()
&lt;/h2&gt;

&lt;p&gt;Retrieves value using key.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;Java&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  3. remove()
&lt;/h2&gt;

&lt;p&gt;Removes entry based on key.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;remove&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="o"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nc"&gt;Python&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  4. containsKey()
&lt;/h2&gt;

&lt;p&gt;Checks whether a key exists.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;containsKey&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  5. containsValue()
&lt;/h2&gt;

&lt;p&gt;Checks whether a value exists.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;containsValue&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Python"&lt;/span&gt;&lt;span class="o"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kc"&gt;true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  6. size()
&lt;/h2&gt;

&lt;p&gt;Returns number of entries.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;size&lt;/span&gt;&lt;span class="o"&gt;());&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="mi"&gt;2&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  7. isEmpty()
&lt;/h2&gt;

&lt;p&gt;Checks if map is empty.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;isEmpty&lt;/span&gt;&lt;span class="o"&gt;());&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kc"&gt;false&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  8. clear()
&lt;/h2&gt;

&lt;p&gt;Removes all entries.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;clear&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  Traversing a Map
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Using keySet()
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;Map&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;map&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;HashMap&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;

&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Java"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Python"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"C++"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;keySet&lt;/span&gt;&lt;span class="o"&gt;())&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="mi"&gt;1&lt;/span&gt;
&lt;span class="mi"&gt;2&lt;/span&gt;
&lt;span class="mi"&gt;3&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Using values()
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;values&lt;/span&gt;&lt;span class="o"&gt;())&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;Java&lt;/span&gt;
&lt;span class="nc"&gt;Python&lt;/span&gt;
&lt;span class="no"&gt;C&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Using entrySet()
&lt;/h2&gt;

&lt;p&gt;Most commonly used approach.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;Entry&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;entry&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;entrySet&lt;/span&gt;&lt;span class="o"&gt;())&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;entry&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getKey&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s"&gt;" : "&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;entry&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getValue&lt;/span&gt;&lt;span class="o"&gt;());&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nc"&gt;Java&lt;/span&gt;
&lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="nc"&gt;Python&lt;/span&gt;
&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="o"&gt;:&lt;/span&gt; &lt;span class="no"&gt;C&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  Implementations of Map Interface
&lt;/h1&gt;

&lt;h2&gt;
  
  
  1. HashMap
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Most commonly used&lt;/li&gt;
&lt;li&gt;No insertion order maintained&lt;/li&gt;
&lt;li&gt;Allows one null key&lt;/li&gt;
&lt;li&gt;Allows multiple null values&lt;/li&gt;
&lt;li&gt;Fast performance&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Example
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;Map&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;map&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;HashMap&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;

&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;101&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Harini"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;102&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Kaviya"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  2. LinkedHashMap
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Maintains insertion order&lt;/li&gt;
&lt;li&gt;Slightly slower than HashMap&lt;/li&gt;
&lt;li&gt;Allows null key and values&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Example
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;Map&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;map&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;LinkedHashMap&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;

&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"C"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"A"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"B"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="o"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="no"&gt;C&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="no"&gt;A&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="no"&gt;B&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  3. TreeMap
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Stores keys in sorted order&lt;/li&gt;
&lt;li&gt;Does not allow null keys&lt;/li&gt;
&lt;li&gt;Based on Red-Black Tree&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Example
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;Map&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;map&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;TreeMap&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;

&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"C"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"A"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;put&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"B"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;map&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Output
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="o"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="no"&gt;A&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="no"&gt;B&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="no"&gt;C&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






</description>
      <category>java</category>
      <category>basic</category>
      <category>programming</category>
      <category>coding</category>
    </item>
    <item>
      <title>Set in Java</title>
      <dc:creator>Harini</dc:creator>
      <pubDate>Mon, 15 Jun 2026 05:49:20 +0000</pubDate>
      <link>https://dev.to/harini_magesh_fa40041cf8d/set-in-java-455a</link>
      <guid>https://dev.to/harini_magesh_fa40041cf8d/set-in-java-455a</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Set in Java?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Set interface is a part of the Java Collections Framework and is available in the java.util package. It represents a collection that stores unique elements, meaning duplicate values are not allowed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Characteristics of Set&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Set does not allow duplicate elements. If an attempt is made to add a duplicate element, it is ignored.&lt;/li&gt;
&lt;li&gt;Most Set implementations allow at most one null value. However, TreeSet does not permit null elements because it stores elements in sorted order.&lt;/li&gt;
&lt;li&gt;Set provides efficient operations for searching, inserting, and deleting elements.&lt;/li&gt;
&lt;li&gt;It does not support index-based access like the List interface.&lt;/li&gt;
&lt;li&gt;The order of elements depends on the implementation:

&lt;ul&gt;
&lt;li&gt;HashSet → No guaranteed order&lt;/li&gt;
&lt;li&gt;LinkedHashSet → Maintains insertion order&lt;/li&gt;
&lt;li&gt;TreeSet → Maintains sorted order&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Implementations of Set Interface&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. HashSet&lt;/strong&gt;&lt;br&gt;
HashSet is an implementation of the Set interface that stores unique elements using a hash table.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;Set&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;set&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;HashSet&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Characteristics&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does not allow duplicates&lt;/li&gt;
&lt;li&gt;Allows one null value&lt;/li&gt;
&lt;li&gt;Does not maintain insertion order&lt;/li&gt;
&lt;li&gt;Fastest among Set implementations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.util.HashSet&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Main&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

        &lt;span class="nc"&gt;HashSet&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;set&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;HashSet&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;

        &lt;span class="n"&gt;set&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Java"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="n"&gt;set&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"React"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="n"&gt;set&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"SQL"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="n"&gt;set&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Java"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

        &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;set&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;[React, Java, SQL]&lt;/code&gt;&lt;br&gt;
(Order may vary.)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Internal Data Structure&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;Hash Table&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to Use&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Duplicates are not allowed&lt;/li&gt;
&lt;li&gt;Order is not important&lt;/li&gt;
&lt;li&gt;Fast performance is required&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. LinkedHashSet&lt;/strong&gt;&lt;br&gt;
LinkedHashSet is a HashSet that maintains insertion order.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;Set&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;set&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;LinkedHashSet&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Characteristics&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No duplicates&lt;/li&gt;
&lt;li&gt;Maintains insertion order&lt;/li&gt;
&lt;li&gt;Allows one null&lt;/li&gt;
&lt;li&gt;Slightly slower than HashSet&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.util.LinkedHashSet&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Main&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

        &lt;span class="nc"&gt;LinkedHashSet&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;set&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;
                &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;LinkedHashSet&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;

        &lt;span class="n"&gt;set&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Java"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="n"&gt;set&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"React"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="n"&gt;set&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"SQL"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

        &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;set&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;[Java, React, SQL]&lt;/code&gt;&lt;br&gt;
Order remains same as insertion order.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Internal Data Structure&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;Hash Table + Doubly Linked List&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When to Use&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Duplicates are not allowed&lt;/li&gt;
&lt;li&gt;Insertion order must be preserved&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. TreeSet&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;TreeSet stores unique elements in sorted order.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;Set&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;set&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;TreeSet&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Characteristics&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No duplicates&lt;/li&gt;
&lt;li&gt;Automatically sorts elements&lt;/li&gt;
&lt;li&gt;Does not allow null&lt;/li&gt;
&lt;li&gt;Slower than HashSet&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.util.TreeSet&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Main&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;static&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

        &lt;span class="nc"&gt;TreeSet&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;set&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;
                &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;TreeSet&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;

        &lt;span class="n"&gt;set&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="n"&gt;set&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="n"&gt;set&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

        &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;set&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;[10, 30, 50]&lt;/code&gt;&lt;br&gt;
Automatically sorted in ascending order.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Internal Data Structure&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;Red-Black Tree&lt;/code&gt;&lt;br&gt;
(A self-balancing binary search tree.)&lt;/p&gt;

</description>
      <category>java</category>
      <category>beginners</category>
      <category>programming</category>
      <category>coding</category>
    </item>
    <item>
      <title>Difference Between ArrayList and LinkedList in Java</title>
      <dc:creator>Harini</dc:creator>
      <pubDate>Wed, 10 Jun 2026 05:56:49 +0000</pubDate>
      <link>https://dev.to/harini_magesh_fa40041cf8d/difference-between-arraylist-and-linkedlist-in-java-2007</link>
      <guid>https://dev.to/harini_magesh_fa40041cf8d/difference-between-arraylist-and-linkedlist-in-java-2007</guid>
      <description>&lt;p&gt;ArrayList and LinkedList are two commonly used classes in the Java Collections Framework. Both implement the List interface and allow duplicate elements while maintaining insertion order. However, they differ in how data is stored and how operations are performed.&lt;/p&gt;




&lt;h2&gt;
  
  
  ArrayList
&lt;/h2&gt;

&lt;p&gt;ArrayList uses a &lt;strong&gt;dynamic array&lt;/strong&gt; to store elements. It provides fast access to elements using indexes and is suitable when data retrieval is performed frequently.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features of ArrayList
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Uses a dynamic array internally.&lt;/li&gt;
&lt;li&gt;Maintains insertion order.&lt;/li&gt;
&lt;li&gt;Allows duplicate elements.&lt;/li&gt;
&lt;li&gt;Fast random access using indexes.&lt;/li&gt;
&lt;li&gt;Slower insertion and deletion in the middle of the list because elements need to be shifted.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  LinkedList
&lt;/h2&gt;

&lt;p&gt;LinkedList uses a &lt;strong&gt;doubly linked list&lt;/strong&gt; to store elements. Each element is stored as a node containing data and references to the previous and next nodes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Features of LinkedList
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Uses a doubly linked list internally.&lt;/li&gt;
&lt;li&gt;Maintains insertion order.&lt;/li&gt;
&lt;li&gt;Allows duplicate elements.&lt;/li&gt;
&lt;li&gt;Fast insertion and deletion operations.&lt;/li&gt;
&lt;li&gt;Slower access to elements because it must traverse the list.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ArrayList vs LinkedList
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;ArrayList&lt;/th&gt;
&lt;th&gt;LinkedList&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Definition&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;A dynamic array implementation of the List interface.&lt;/td&gt;
&lt;td&gt;A doubly linked list implementation of the List interface.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Data Storage&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Stores elements in a dynamic array.&lt;/td&gt;
&lt;td&gt;Stores elements as connected nodes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Access Time&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Fast access using index (&lt;strong&gt;O(1)&lt;/strong&gt;).&lt;/td&gt;
&lt;td&gt;Slower access because it traverses nodes (&lt;strong&gt;O(n)&lt;/strong&gt;).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Insertion/Deletion&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Slower in the beginning or middle because elements need to be shifted.&lt;/td&gt;
&lt;td&gt;Faster because nodes can be added or removed without shifting elements.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Memory Usage&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Uses less memory.&lt;/td&gt;
&lt;td&gt;Uses more memory due to previous and next references.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Iteration&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Generally faster for traversing elements.&lt;/td&gt;
&lt;td&gt;Slightly slower than ArrayList.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Best Use Case&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Frequent searching and accessing of elements.&lt;/td&gt;
&lt;td&gt;Frequent insertion and deletion of elements.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  When to Use ArrayList?
&lt;/h2&gt;

&lt;p&gt;Use ArrayList when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You frequently access elements using indexes.&lt;/li&gt;
&lt;li&gt;Read operations are more common than insertions and deletions.&lt;/li&gt;
&lt;li&gt;Better performance for searching and retrieving data is required.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;ArrayList&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;add&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Java"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  When to Use LinkedList?
&lt;/h2&gt;

&lt;p&gt;Use LinkedList when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You frequently insert or remove elements.&lt;/li&gt;
&lt;li&gt;Queue or Deque operations are required.&lt;/li&gt;
&lt;li&gt;The application performs more updates than searches.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;LinkedList&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;LinkedList&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;addFirst&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Java"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;removeLast&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>java</category>
      <category>arraylist</category>
      <category>linkedlist</category>
      <category>beginners</category>
    </item>
    <item>
      <title>LinkedList in Java</title>
      <dc:creator>Harini</dc:creator>
      <pubDate>Wed, 10 Jun 2026 05:56:26 +0000</pubDate>
      <link>https://dev.to/harini_magesh_fa40041cf8d/linkedlist-in-java-okc</link>
      <guid>https://dev.to/harini_magesh_fa40041cf8d/linkedlist-in-java-okc</guid>
      <description>&lt;p&gt;LinkedList is a class in Java Collections Framework available in the java.util package.It stores data as nodes, where each node contains the element and links to the previous and next nodes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The size of a LinkedList can increase or decrease automatically while the program is running.&lt;/li&gt;
&lt;li&gt;It maintains the insertion order, meaning elements are stored in the order they are added.&lt;/li&gt;
&lt;li&gt;It allows duplicate elements.&lt;/li&gt;
&lt;li&gt;It provides faster insertion and deletion of elements compared to ArrayList, especially at the beginning or middle of the list.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why LinkedList is Used?&lt;/strong&gt;&lt;br&gt;
LinkedList is preferred when:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Frequent Insertion&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Adding elements in the middle or beginning is fast.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;addFirst&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Java"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;2. Frequent Deletion&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Removing elements does not require shifting other elements.
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="n"&gt;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;remove&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;3. Queue and Deque Operations&lt;/strong&gt;&lt;br&gt;
LinkedList supports operations like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;addFirst()
addLast()
removeFirst()
removeLast()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Hence it can be used as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Queue&lt;/li&gt;
&lt;li&gt;Deque&lt;/li&gt;
&lt;li&gt;Stack&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What is a Doubly Linked List?&lt;/strong&gt;&lt;br&gt;
A Doubly Linked List is a type of linked list in which each node contains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data – the actual value stored.&lt;/li&gt;
&lt;li&gt;Previous Reference (Prev) – points to the previous node.&lt;/li&gt;
&lt;li&gt;Next Reference (Next) – points to the next node.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because each node has links in both directions, we can traverse the list forward as well as backward.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Structure&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;NULL ← [10] ⇄ [20] ⇄ [30] ⇄ [40] → NULL
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each node contains:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[ Prev | Data | Next ]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[NULL | 10 | Address of 20]
[Address of 10 | 20 | Address of 30]
[Address of 20 | 30 | Address of 40]
[Address of 30 | 40 | NULL]

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Advantages of Doubly Linked List&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supports forward and backward traversal.&lt;/li&gt;
&lt;li&gt;Faster insertion and deletion compared to arrays.&lt;/li&gt;
&lt;li&gt;Easy to implement Queue, Deque, and Browser History features.&lt;/li&gt;
&lt;li&gt;No need to shift elements during insertion or deletion.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Disadvantages of Doubly Linked List&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Requires extra memory to store the previous reference.&lt;/li&gt;
&lt;li&gt;More complex than a singly linked list.&lt;/li&gt;
&lt;li&gt;Accessing elements by index is slower because traversal is required.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>java</category>
      <category>linkedlist</category>
      <category>beginners</category>
      <category>basic</category>
    </item>
    <item>
      <title>ArrayList in Java</title>
      <dc:creator>Harini</dc:creator>
      <pubDate>Fri, 05 Jun 2026 12:31:09 +0000</pubDate>
      <link>https://dev.to/harini_magesh_fa40041cf8d/arraylist-in-java-nli</link>
      <guid>https://dev.to/harini_magesh_fa40041cf8d/arraylist-in-java-nli</guid>
      <description>&lt;p&gt;ArrayList is one of the most commonly used classes in Java's collections framework.It provides a dynamic array that can grow and shrink automatically as elements are added or removed. Unlike traditional arrays, you do not need to specify the size in advance.&lt;/p&gt;

&lt;p&gt;ArrayList is part of the &lt;code&gt;java.util&lt;/code&gt; package and implements the list interface.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why do we need ArrayList?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In Java,array have a fixed size.Once an array is created,its size cannot be changed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Limitations of Arrays&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed size.&lt;/li&gt;
&lt;li&gt;Insertion and deletion are difficult.&lt;/li&gt;
&lt;li&gt;No built-in methods for data manipulation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To overcome these limitations,Java provides ArrayList,which offers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dynamic resizing&lt;/li&gt;
&lt;li&gt;Easy insertion and deletion&lt;/li&gt;
&lt;li&gt;Built-in utility methods&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Features of ArrayList&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;1.Dynamic size&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ArrayList automatically increases or decreases its capacity based on the number of elements.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2.Maintains insertion order&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Elements are stored in the same order in which they are inserted.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3.Allows duplicate elements&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multiple identical values can be stored.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4.Random access&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Elements can be accessed directly using their index.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5.Stores objects&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ArrayList stores objects rather than primitive datatypes.Wrapper classes are used for primitives.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;int -&amp;gt; Integer
double -&amp;gt; Double
char -&amp;gt; Character
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>java</category>
      <category>arraylist</category>
      <category>basic</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Collections in Java</title>
      <dc:creator>Harini</dc:creator>
      <pubDate>Fri, 05 Jun 2026 05:23:58 +0000</pubDate>
      <link>https://dev.to/harini_magesh_fa40041cf8d/collections-in-java-4nc9</link>
      <guid>https://dev.to/harini_magesh_fa40041cf8d/collections-in-java-4nc9</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Collections Framework in Java?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Java Collections Framework (JCF)&lt;/strong&gt; is a set of classes and interfaces provided by Java to store, manage, and manipulate groups of objects efficiently.&lt;/p&gt;

&lt;p&gt;Before Collections, developers mainly used arrays. Arrays have a fixed size and limited functionality. Collections provide dynamic storage and many built-in methods for handling data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Package&lt;/strong&gt;: java.util&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why is Collections Used?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Collections are used to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Store multiple objects dynamically.&lt;/li&gt;
&lt;li&gt;Perform searching, sorting, insertion, and deletion easily.&lt;/li&gt;
&lt;li&gt;Reduce coding effort through built-in methods.&lt;/li&gt;
&lt;li&gt;Improve code reusability and maintainability.&lt;/li&gt;
&lt;li&gt;Handle large amounts of data efficiently.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Without Collections&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;arr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="o"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Fixed size&lt;/li&gt;
&lt;li&gt;Difficult to resize&lt;/li&gt;
&lt;li&gt;Limited operations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;With Collections&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Integer&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;list&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;ArrayList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&amp;gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Dynamic size&lt;/li&gt;
&lt;li&gt;Easy insertion and deletion&lt;/li&gt;
&lt;li&gt;Rich utility methods&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Advantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dynamic Size&lt;/li&gt;
&lt;li&gt;Ready-Made Data Structures&lt;/li&gt;
&lt;li&gt;Better Performance&lt;/li&gt;
&lt;li&gt;Reusability and Maintainability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;List Interface&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A List stores elements in insertion order and allows duplicates.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ordered&lt;/li&gt;
&lt;li&gt;Duplicate elements allowed&lt;/li&gt;
&lt;li&gt;Index-based access&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Set Interface&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Set stores unique elements only.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No duplicates&lt;/li&gt;
&lt;li&gt;Usually unordered&lt;/li&gt;
&lt;li&gt;Faster searching&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Map Interface&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Map stores data as Key-Value pairs.&lt;/li&gt;
&lt;li&gt;A key must be unique.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Key-Value storage&lt;/li&gt;
&lt;li&gt;Duplicate keys not allowed&lt;/li&gt;
&lt;li&gt;Values can be duplicated&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>java</category>
      <category>coding</category>
      <category>beginners</category>
    </item>
    <item>
      <title>File Handling in Java</title>
      <dc:creator>Harini</dc:creator>
      <pubDate>Thu, 04 Jun 2026 07:11:29 +0000</pubDate>
      <link>https://dev.to/harini_magesh_fa40041cf8d/file-handling-in-java-56lj</link>
      <guid>https://dev.to/harini_magesh_fa40041cf8d/file-handling-in-java-56lj</guid>
      <description>&lt;h2&gt;
  
  
  What is File Handling?
&lt;/h2&gt;

&lt;p&gt;File Handling in Java is the process of creating, reading, writing, updating, and deleting files stored on a storage device such as a hard disk, SSD, or external drive.&lt;/p&gt;

&lt;p&gt;Normally, data stored in variables exists only while the program is running. Once the program terminates, that data is lost. File handling enables applications to store data permanently so that it can be accessed even after the program has ended.&lt;/p&gt;

&lt;p&gt;Java provides file handling support mainly through the &lt;code&gt;java.io&lt;/code&gt; package and the modern &lt;code&gt;java.nio.file&lt;/code&gt; package.&lt;/p&gt;




&lt;h1&gt;
  
  
  Why is File Handling Important?
&lt;/h1&gt;

&lt;p&gt;File handling is used to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Store application data permanently&lt;/li&gt;
&lt;li&gt;Save user information&lt;/li&gt;
&lt;li&gt;Generate reports&lt;/li&gt;
&lt;li&gt;Maintain logs&lt;/li&gt;
&lt;li&gt;Store configuration settings&lt;/li&gt;
&lt;li&gt;Transfer data between applications&lt;/li&gt;
&lt;li&gt;Read existing records from files&lt;/li&gt;
&lt;li&gt;Backup important information&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without file handling, applications would have to rely solely on memory, causing all data to be lost when the application closes.&lt;/p&gt;




&lt;h1&gt;
  
  
  File Class in Java
&lt;/h1&gt;

&lt;p&gt;The &lt;code&gt;File&lt;/code&gt; class is the foundation of file handling in Java.&lt;/p&gt;

&lt;p&gt;A &lt;code&gt;File&lt;/code&gt; object represents a file or directory path in the file system. It provides methods to create, delete, rename, and retrieve information about files and directories.&lt;/p&gt;

&lt;p&gt;Creating a &lt;code&gt;File&lt;/code&gt; object does not create the actual file on disk. It simply creates an object that represents the path.&lt;/p&gt;




&lt;h1&gt;
  
  
  Common Methods of the File Class
&lt;/h1&gt;

&lt;h2&gt;
  
  
  1. createNewFile()
&lt;/h2&gt;

&lt;p&gt;Creates a new empty file in the specified location.&lt;/p&gt;

&lt;h3&gt;
  
  
  Return Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Returns
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;true&lt;/code&gt; if the file is created successfully.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;false&lt;/code&gt; if the file already exists.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Exception
&lt;/h3&gt;

&lt;p&gt;Throws &lt;code&gt;IOException&lt;/code&gt; if an error occurs during file creation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Purpose
&lt;/h3&gt;

&lt;p&gt;Used when an application needs to create a new file before storing data.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. exists()
&lt;/h2&gt;

&lt;p&gt;Checks whether a file or directory exists.&lt;/p&gt;

&lt;h3&gt;
  
  
  Return Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Returns
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;true&lt;/code&gt; if the file exists.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;false&lt;/code&gt; if the file does not exist.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Purpose
&lt;/h3&gt;

&lt;p&gt;Used before performing operations such as reading, writing, or deleting a file.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. delete()
&lt;/h2&gt;

&lt;p&gt;Deletes a file or an empty directory.&lt;/p&gt;

&lt;h3&gt;
  
  
  Return Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Returns
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;true&lt;/code&gt; if deletion is successful.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;false&lt;/code&gt; if deletion fails.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Purpose
&lt;/h3&gt;

&lt;p&gt;Used to remove unnecessary files from the system.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. getName()
&lt;/h2&gt;

&lt;p&gt;Returns the name of the file or directory.&lt;/p&gt;

&lt;h3&gt;
  
  
  Return Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;String&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Purpose
&lt;/h3&gt;

&lt;p&gt;Used when displaying or processing file names.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. getAbsolutePath()
&lt;/h2&gt;

&lt;p&gt;Returns the complete path of a file.&lt;/p&gt;

&lt;h3&gt;
  
  
  Return Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;String&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Purpose
&lt;/h3&gt;

&lt;p&gt;Helps identify the exact location of a file in the system.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. getCanonicalPath()
&lt;/h2&gt;

&lt;p&gt;Returns the canonical path of a file.&lt;/p&gt;

&lt;h3&gt;
  
  
  Return Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;String&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Purpose
&lt;/h3&gt;

&lt;p&gt;Provides the unique and standardized file path after resolving relative references such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;.&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;..&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It removes ambiguities from the path.&lt;/p&gt;




&lt;h2&gt;
  
  
  7. length()
&lt;/h2&gt;

&lt;p&gt;Returns the size of a file.&lt;/p&gt;

&lt;h3&gt;
  
  
  Return Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kt"&gt;long&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Purpose
&lt;/h3&gt;

&lt;p&gt;Used to determine file size in bytes.&lt;/p&gt;




&lt;h2&gt;
  
  
  8. canRead()
&lt;/h2&gt;

&lt;p&gt;Checks whether the file has read permission.&lt;/p&gt;

&lt;h3&gt;
  
  
  Return Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Returns
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;true&lt;/code&gt; if readable.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;false&lt;/code&gt; otherwise.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Purpose
&lt;/h3&gt;

&lt;p&gt;Used before reading file contents.&lt;/p&gt;




&lt;h2&gt;
  
  
  9. canWrite()
&lt;/h2&gt;

&lt;p&gt;Checks whether the file has write permission.&lt;/p&gt;

&lt;h3&gt;
  
  
  Return Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Returns
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;true&lt;/code&gt; if writable.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;false&lt;/code&gt; otherwise.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Purpose
&lt;/h3&gt;

&lt;p&gt;Used before writing data into a file.&lt;/p&gt;




&lt;h2&gt;
  
  
  10. canExecute()
&lt;/h2&gt;

&lt;p&gt;Checks whether the file can be executed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Return Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Purpose
&lt;/h3&gt;

&lt;p&gt;Commonly used for executable files and scripts.&lt;/p&gt;




&lt;h2&gt;
  
  
  11. isFile()
&lt;/h2&gt;

&lt;p&gt;Checks whether the path represents a file.&lt;/p&gt;

&lt;h3&gt;
  
  
  Return Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Returns
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;true&lt;/code&gt; if it is a file.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;false&lt;/code&gt; otherwise.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Purpose
&lt;/h3&gt;

&lt;p&gt;Helps distinguish files from directories.&lt;/p&gt;




&lt;h2&gt;
  
  
  12. isDirectory()
&lt;/h2&gt;

&lt;p&gt;Checks whether the path represents a directory.&lt;/p&gt;

&lt;h3&gt;
  
  
  Return Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Returns
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;true&lt;/code&gt; if it is a directory.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;false&lt;/code&gt; otherwise.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Purpose
&lt;/h3&gt;

&lt;p&gt;Used when working with folders.&lt;/p&gt;




&lt;h2&gt;
  
  
  13. mkdir()
&lt;/h2&gt;

&lt;p&gt;Creates a single directory.&lt;/p&gt;

&lt;h3&gt;
  
  
  Return Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Purpose
&lt;/h3&gt;

&lt;p&gt;Used to create one folder.&lt;/p&gt;




&lt;h2&gt;
  
  
  14. mkdirs()
&lt;/h2&gt;

&lt;p&gt;Creates multiple nested directories.&lt;/p&gt;

&lt;h3&gt;
  
  
  Return Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Purpose
&lt;/h3&gt;

&lt;p&gt;Creates all required parent directories automatically.&lt;/p&gt;




&lt;h2&gt;
  
  
  15. renameTo()
&lt;/h2&gt;

&lt;p&gt;Renames a file or directory.&lt;/p&gt;

&lt;h3&gt;
  
  
  Return Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kt"&gt;boolean&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Purpose
&lt;/h3&gt;

&lt;p&gt;Used when changing file or folder names.&lt;/p&gt;




&lt;h2&gt;
  
  
  16. list()
&lt;/h2&gt;

&lt;p&gt;Returns all files and folders inside a directory.&lt;/p&gt;

&lt;h3&gt;
  
  
  Return Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;String&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Purpose
&lt;/h3&gt;

&lt;p&gt;Used to retrieve directory contents.&lt;/p&gt;




&lt;h2&gt;
  
  
  17. listFiles()
&lt;/h2&gt;

&lt;p&gt;Returns file objects representing all files and directories inside a folder.&lt;/p&gt;

&lt;h3&gt;
  
  
  Return Type
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nc"&gt;File&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>java</category>
      <category>basic</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
