<?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: KIRAN RAJ</title>
    <description>The latest articles on DEV Community by KIRAN RAJ (@kiran_raj_2004).</description>
    <link>https://dev.to/kiran_raj_2004</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3428672%2Fc232d335-9665-4dc5-bbe6-4b8b51c96368.png</url>
      <title>DEV Community: KIRAN RAJ</title>
      <link>https://dev.to/kiran_raj_2004</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kiran_raj_2004"/>
    <language>en</language>
    <item>
      <title>Maven &amp; MVC in Spring Boot</title>
      <dc:creator>KIRAN RAJ</dc:creator>
      <pubDate>Tue, 05 May 2026 17:44:38 +0000</pubDate>
      <link>https://dev.to/kiran_raj_2004/maven-mvc-in-spring-boot-56li</link>
      <guid>https://dev.to/kiran_raj_2004/maven-mvc-in-spring-boot-56li</guid>
      <description>&lt;h1&gt;
  
  
  Maven &amp;amp; MVC in Spring Boot — how I actually understood it
&lt;/h1&gt;

&lt;p&gt;When I started Spring Boot, I kept hearing two words again and again  -Maven and MVC.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;At that time I didn’t really get it.&lt;/li&gt;
&lt;li&gt;Still, I didn’t ask… just went with the flow thinking it’ll make sense later.&lt;/li&gt;
&lt;li&gt;This is basically what I undeThat’s pretty much it.understood after struggling a bit.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Maven first.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When you create a Java project, you don’t just write code and run it.&lt;/li&gt;
&lt;li&gt;You need other stuff — Spring Boot, database drivers, some libraries.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Initially I thought I could handle it manually. Download jars, add them, done.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It &lt;em&gt;works&lt;/em&gt;, but only for some time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After that, small problems start:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;wrong versions, something not working, no idea what went wrong.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;That’s where Maven helps.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You just write everything in one file (&lt;code&gt;pom.xml&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After that, it takes care of the rest — downloading, managing versions, building.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You don’t really “see” Maven working.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It just does things in the background.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After a point, you stop thinking about it completely.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Now MVC.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Before this, I used to write everything in one place.&lt;/li&gt;
&lt;li&gt;Controller, logic, data… all mixed.&lt;/li&gt;
&lt;li&gt;It was okay for small code, but once it got bigger, it became confusing.&lt;/li&gt;
&lt;li&gt;MVC just separates things. That’s it.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Controller — where the request comes.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you hit something like &lt;code&gt;/users&lt;/code&gt;, it reaches the controller first.&lt;/li&gt;
&lt;li&gt;Controller won’t do everything.&lt;/li&gt;
&lt;li&gt;It just decides what should happen next and passes it.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;Model — your data.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Like a User: id, name.&lt;/li&gt;
&lt;li&gt;Nothing complicated.&lt;/li&gt;
&lt;li&gt;Just represents what you’re working with.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;View — what goes back.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In most cases, it’s just JSON.&lt;/li&gt;
&lt;li&gt;User asks → you send data → done.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;What made it clear for me was this:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;request → controller → process → response&lt;/li&gt;
&lt;li&gt;That’s the whole flow.&lt;/li&gt;
&lt;li&gt;I was overthinking it before.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;One simple way I remember it:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;like ordering food.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You talk to waiter → controller&lt;/li&gt;
&lt;li&gt;Waiter goes inside → model&lt;/li&gt;
&lt;li&gt;Food comes back → view
You never go to the kitchen.&lt;/li&gt;
&lt;li&gt;Same thing here.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;*&lt;em&gt;One mistake I made — I thought Maven and MVC are related.&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
They’re not.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MVC is about how you write code.&lt;/li&gt;
&lt;li&gt;Maven is just there handling dependencies and setup.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;That’s pretty much it.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Honestly, reading won’t make it fully click.&lt;/li&gt;
&lt;li&gt;Try a small API, return some data… then it makes sense.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>ArrayList vs LinkedList in Java</title>
      <dc:creator>KIRAN RAJ</dc:creator>
      <pubDate>Tue, 28 Apr 2026 18:04:46 +0000</pubDate>
      <link>https://dev.to/kiran_raj_2004/arraylist-vs-linkedlist-in-java-5cki</link>
      <guid>https://dev.to/kiran_raj_2004/arraylist-vs-linkedlist-in-java-5cki</guid>
      <description>&lt;h1&gt;
  
  
  ArrayList vs LinkedList in Java (Easy Explanation)
&lt;/h1&gt;

&lt;p&gt;When learning Java Collections, one common doubt is:&lt;br&gt;
&lt;strong&gt;“Should I use ArrayList or LinkedList?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Both are part of the &lt;code&gt;List&lt;/code&gt; interface. Both store data in order.&lt;br&gt;
But internally, they work in completely different ways — and that changes performance.&lt;/p&gt;




&lt;h2&gt;
  
  
  ArrayList – How it works
&lt;/h2&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%2Fimages.openai.com%2Fstatic-rsc-4%2FeK-BMPXPggKlkanv_c0N-8_pkberxv6617icIWuHg8jlDbRVPbOJFb279QtR-F-OwRa3uTfprW7gBPTA_RDahtjeFVMdRSaqt7u3LhBHsvckmL61_2-98wNMjBdjHer6ebk1_rh8tYOUA6FKgAuKS-XP_Zi_VFEd2DwDBxR1Y8c4VUwjSeDUU-ACFN291BBN%3Fpurpose%3Dfullsize" 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%2Fimages.openai.com%2Fstatic-rsc-4%2FeK-BMPXPggKlkanv_c0N-8_pkberxv6617icIWuHg8jlDbRVPbOJFb279QtR-F-OwRa3uTfprW7gBPTA_RDahtjeFVMdRSaqt7u3LhBHsvckmL61_2-98wNMjBdjHer6ebk1_rh8tYOUA6FKgAuKS-XP_Zi_VFEd2DwDBxR1Y8c4VUwjSeDUU-ACFN291BBN%3Fpurpose%3Dfullsize" alt="Image" width="439" height="427"&gt;&lt;/a&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%2Fimages.openai.com%2Fstatic-rsc-4%2FI7yPwQgl0i5CzPbx4EBPWe6NXuJs831k3evCn4EGcwRj3DZltkbvATqJQVFXKryGlfaW6AXBAPBI5qQthQ7R-LzSJ_XhGeoxRhOE71-HGogd2OnFwPd6gg7313N5tm_nib_aocjWw9VKTA72OoAnQi0OaI9bS1gX_yZdm3wyBHicL0Pe282VtTH03jKoYaYv%3Fpurpose%3Dfullsize" 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%2Fimages.openai.com%2Fstatic-rsc-4%2FI7yPwQgl0i5CzPbx4EBPWe6NXuJs831k3evCn4EGcwRj3DZltkbvATqJQVFXKryGlfaW6AXBAPBI5qQthQ7R-LzSJ_XhGeoxRhOE71-HGogd2OnFwPd6gg7313N5tm_nib_aocjWw9VKTA72OoAnQi0OaI9bS1gX_yZdm3wyBHicL0Pe282VtTH03jKoYaYv%3Fpurpose%3Dfullsize" alt="Image" width="1400" height="933"&gt;&lt;/a&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%2Fimages.openai.com%2Fstatic-rsc-4%2Fj7Tgj_6gMvjYY3A6hyurDupNCzo-W6PGxK7gCUMaocmfvf0eVMh9ny1JK1m_99maWV-Yj0VZpQ-qE_EuzAYCdl2aVXvbyscjYhhf9c8fwcFozA1Lumo-TNude4ZYaaikOsPffyyz4-ISmYIWHoIX1ln7Y56uFCq6VENZuBvAVUQAJwQPUfD_Ay0YrUmZnZUm%3Fpurpose%3Dfullsize" 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%2Fimages.openai.com%2Fstatic-rsc-4%2Fj7Tgj_6gMvjYY3A6hyurDupNCzo-W6PGxK7gCUMaocmfvf0eVMh9ny1JK1m_99maWV-Yj0VZpQ-qE_EuzAYCdl2aVXvbyscjYhhf9c8fwcFozA1Lumo-TNude4ZYaaikOsPffyyz4-ISmYIWHoIX1ln7Y56uFCq6VENZuBvAVUQAJwQPUfD_Ay0YrUmZnZUm%3Fpurpose%3Dfullsize" alt="Image" width="1115" height="1284"&gt;&lt;/a&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%2Fimages.openai.com%2Fstatic-rsc-4%2FiJ9QYVEC1cvPXYSxtXP4OEsNFFLN6kocPfUA4AG5vcbpELqrr9gxOrNaxTb2949GW6o-er2oSmabndsRvggzhXRDYdZq6hqPMTU5XJ1lWNmpcrph5IDWS7ads02BsbMB789iAq7PlvH6AYdWvIPZ-3Gl4lSgDd8kSxIKX1horCFQ4d-tgHI8mYImKZn-0UBP%3Fpurpose%3Dfullsize" 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%2Fimages.openai.com%2Fstatic-rsc-4%2FiJ9QYVEC1cvPXYSxtXP4OEsNFFLN6kocPfUA4AG5vcbpELqrr9gxOrNaxTb2949GW6o-er2oSmabndsRvggzhXRDYdZq6hqPMTU5XJ1lWNmpcrph5IDWS7ads02BsbMB789iAq7PlvH6AYdWvIPZ-3Gl4lSgDd8kSxIKX1horCFQ4d-tgHI8mYImKZn-0UBP%3Fpurpose%3Dfullsize" alt="Image" width="446" height="446"&gt;&lt;/a&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%2Fimages.openai.com%2Fstatic-rsc-4%2FYcN0Gxkq7-xlBcPLm8m-UzCRRfxSQJcAJHj6pUafkCgOiZIkFs5vFCppd97Nshw9BA0tUiUrK7_-aUsrGnQe3TQZ_clBVcWaNDYECxZxwaav1NjgNeQykvK53SO2IqWaw-M4SmfQyAVbUwMEfUjn-PLL26Ck7vodfHDjsRNuabe07Cx3JwkW0rd_zCPL9xmC%3Fpurpose%3Dfullsize" 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%2Fimages.openai.com%2Fstatic-rsc-4%2FYcN0Gxkq7-xlBcPLm8m-UzCRRfxSQJcAJHj6pUafkCgOiZIkFs5vFCppd97Nshw9BA0tUiUrK7_-aUsrGnQe3TQZ_clBVcWaNDYECxZxwaav1NjgNeQykvK53SO2IqWaw-M4SmfQyAVbUwMEfUjn-PLL26Ck7vodfHDjsRNuabe07Cx3JwkW0rd_zCPL9xmC%3Fpurpose%3Dfullsize" alt="Image" width="736" height="460"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;An &lt;strong&gt;ArrayList&lt;/strong&gt; is a &lt;strong&gt;resizable array&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Elements are stored &lt;strong&gt;next to each other (continuous memory)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Each element has an &lt;strong&gt;index (0, 1, 2…)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;You can directly access any element using the index&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;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;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="mi"&gt;10&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="mi"&gt;20&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="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;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;1&lt;/span&gt;&lt;span class="o"&gt;));&lt;/span&gt; &lt;span class="c1"&gt;// 20&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Real-world feel:&lt;br&gt;
Like selecting a song by number in a playlist — &lt;strong&gt;instant access&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  LinkedList – How it works
&lt;/h2&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%2Fimages.openai.com%2Fstatic-rsc-4%2FCD2qq0Ckls007Ui6pm3STdtx6MhueIJgwcHYmxa9h__wlN51Ofb-nyIU29s1JWawEk6zlKGwXwscbB8W-USdozdfvybLdky6jx4Khh3cgYzEoYaKmdGXHTjAa2QYpBvOWA6dPZEWH3RKHvuE83KJ7mWI50MAyFOEMrxClIG7Tpcx5ZgR-5MluVs7hgAb1MpM%3Fpurpose%3Dfullsize" 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%2Fimages.openai.com%2Fstatic-rsc-4%2FCD2qq0Ckls007Ui6pm3STdtx6MhueIJgwcHYmxa9h__wlN51Ofb-nyIU29s1JWawEk6zlKGwXwscbB8W-USdozdfvybLdky6jx4Khh3cgYzEoYaKmdGXHTjAa2QYpBvOWA6dPZEWH3RKHvuE83KJ7mWI50MAyFOEMrxClIG7Tpcx5ZgR-5MluVs7hgAb1MpM%3Fpurpose%3Dfullsize" alt="Image" width="800" height="400"&gt;&lt;/a&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%2Fimages.openai.com%2Fstatic-rsc-4%2F1PevHZgYuQH86Cjy3Lo5epAOFSPKDB9w0psnprY0JL4dNoJPbfhQNKky43q6C0wQRqNu4jEoItHOwsj-EcDEmMs3YZ4hSQczWjCSQDp3M6yU8949gw2n_OcxH5j4pvgAs2KEoh7jy8NYfQHrliSGYqHAgezFmx5NB-TaPTRWLBweFwXjpDFNWjJ4bLduTmrc%3Fpurpose%3Dfullsize" 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%2Fimages.openai.com%2Fstatic-rsc-4%2F1PevHZgYuQH86Cjy3Lo5epAOFSPKDB9w0psnprY0JL4dNoJPbfhQNKky43q6C0wQRqNu4jEoItHOwsj-EcDEmMs3YZ4hSQczWjCSQDp3M6yU8949gw2n_OcxH5j4pvgAs2KEoh7jy8NYfQHrliSGYqHAgezFmx5NB-TaPTRWLBweFwXjpDFNWjJ4bLduTmrc%3Fpurpose%3Dfullsize" alt="Image" width="1000" height="350"&gt;&lt;/a&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%2Fimages.openai.com%2Fstatic-rsc-4%2FoDTmOBL6BMWJYNfVNal5fH8XCYKPMcgVcXnfVTzYDAhhx5qKnvJ43kRcMeUHUyMKrXD-nkEeouBukzPrLaLlrmtm32PXlV0AddGGKKFNh1t7Y6Yf56rugK6WEDjQbfGPmk1cKWidaLTy8KjRX2Og8NKlpXQjut_BuzUmzXuCd_y-GpD5NgpWX2l4xg1-jTx5%3Fpurpose%3Dfullsize" 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%2Fimages.openai.com%2Fstatic-rsc-4%2FoDTmOBL6BMWJYNfVNal5fH8XCYKPMcgVcXnfVTzYDAhhx5qKnvJ43kRcMeUHUyMKrXD-nkEeouBukzPrLaLlrmtm32PXlV0AddGGKKFNh1t7Y6Yf56rugK6WEDjQbfGPmk1cKWidaLTy8KjRX2Og8NKlpXQjut_BuzUmzXuCd_y-GpD5NgpWX2l4xg1-jTx5%3Fpurpose%3Dfullsize" alt="Image" width="1104" height="394"&gt;&lt;/a&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%2Fimages.openai.com%2Fstatic-rsc-4%2FsoS_yYMYkRK6_dDXN2Nm08O_j2C73QkfxkolMU_eaRtsL8h4VP3n_vKZ1dNgi5AJjrPhKy0O47FrtNqaw39SFhbVkQqMwyjoeqAJBBjW3-VuoUMIebYGMVCAqSDKPfIRIH8EZUyGicoJ1Enn9AQ8zTOzGqXfaxEjw6aHoMlVHhBNejXQne7vyUMbhxZxDZ16%3Fpurpose%3Dfullsize" 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%2Fimages.openai.com%2Fstatic-rsc-4%2FsoS_yYMYkRK6_dDXN2Nm08O_j2C73QkfxkolMU_eaRtsL8h4VP3n_vKZ1dNgi5AJjrPhKy0O47FrtNqaw39SFhbVkQqMwyjoeqAJBBjW3-VuoUMIebYGMVCAqSDKPfIRIH8EZUyGicoJ1Enn9AQ8zTOzGqXfaxEjw6aHoMlVHhBNejXQne7vyUMbhxZxDZ16%3Fpurpose%3Dfullsize" alt="Image" width="720" height="540"&gt;&lt;/a&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%2Fimages.openai.com%2Fstatic-rsc-4%2FJFhaNJo0TQOUeoQPFTzLMP2FDelEavA_E-XV6I6XbK68-9FJB_80dlnciR4SkD5T-aiAfPZyJYsCxQZwPcWTh4UpT0CKyxPGhtfyrIBtIoso689OYF-7pe7f0a7Ep3ujJ3ZIrZ4e8fe1kbt0DPTkGC6YZTwu5FdCw7tpe96BNS1a0lwePXrkSAlancNUI2Pe%3Fpurpose%3Dfullsize" 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%2Fimages.openai.com%2Fstatic-rsc-4%2FJFhaNJo0TQOUeoQPFTzLMP2FDelEavA_E-XV6I6XbK68-9FJB_80dlnciR4SkD5T-aiAfPZyJYsCxQZwPcWTh4UpT0CKyxPGhtfyrIBtIoso689OYF-7pe7f0a7Ep3ujJ3ZIrZ4e8fe1kbt0DPTkGC6YZTwu5FdCw7tpe96BNS1a0lwePXrkSAlancNUI2Pe%3Fpurpose%3Dfullsize" alt="Image" width="686" height="656"&gt;&lt;/a&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%2Fimages.openai.com%2Fstatic-rsc-4%2FV7oXPRrmkEef5BVRQqd6ExBzbg7Ww_dgflzO1XKpkOYZnPWjNi7P6min1obVpu-nM6wQUwsdVXLqO0tHsbx844uq2-43CsuYMF1rD2WJr95jVhLvb6SoR3dEwj983LH5aLeY-4evMFkRyFD5b0GdFRbTtwJSIrKu_GqSQah4DhaZzVr3ZxBdSRe44nwV1hhf%3Fpurpose%3Dfullsize" 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%2Fimages.openai.com%2Fstatic-rsc-4%2FV7oXPRrmkEef5BVRQqd6ExBzbg7Ww_dgflzO1XKpkOYZnPWjNi7P6min1obVpu-nM6wQUwsdVXLqO0tHsbx844uq2-43CsuYMF1rD2WJr95jVhLvb6SoR3dEwj983LH5aLeY-4evMFkRyFD5b0GdFRbTtwJSIrKu_GqSQah4DhaZzVr3ZxBdSRe44nwV1hhf%3Fpurpose%3Dfullsize" alt="Image" width="3400" height="1295"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;LinkedList&lt;/strong&gt; is a chain of &lt;strong&gt;nodes connected together&lt;/strong&gt;.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Data&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reference to next node&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reference to previous node&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Elements are &lt;strong&gt;not stored together&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To access an element, it moves &lt;strong&gt;step by step&lt;/strong&gt;&lt;/p&gt;&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;LinkedList&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;LinkedList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&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="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;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="mi"&gt;20&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="mi"&gt;5&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Real-world feel:&lt;br&gt;
Like standing in a queue — you move one step at a time&lt;/p&gt;




&lt;h2&gt;
  
  
  Key Differences
&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;Storage&lt;/td&gt;
&lt;td&gt;Continuous&lt;/td&gt;
&lt;td&gt;Non-continuous&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Access&lt;/td&gt;
&lt;td&gt;Fast (O(1))&lt;/td&gt;
&lt;td&gt;Slow (O(n))&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Insert/Delete&lt;/td&gt;
&lt;td&gt;Slow (shifting)&lt;/td&gt;
&lt;td&gt;Fast (no shifting)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Memory&lt;/td&gt;
&lt;td&gt;Less&lt;/td&gt;
&lt;td&gt;More&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Easy Way to Remember
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;ArrayList&lt;/strong&gt; → Like seats in a theater&lt;br&gt;
If one person leaves, others shift&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;LinkedList&lt;/strong&gt; → Like people holding hands&lt;br&gt;
Remove one, just reconnect&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




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

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

&lt;ul&gt;
&lt;li&gt;You read/access data frequently&lt;/li&gt;
&lt;li&gt;You need fast &lt;code&gt;get()&lt;/code&gt; operations&lt;/li&gt;
&lt;li&gt;Insert/delete is rare&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;You frequently insert/delete&lt;/li&gt;
&lt;li&gt;Especially at beginning or middle&lt;/li&gt;
&lt;li&gt;Access speed is not important&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Final Thought
&lt;/h2&gt;

&lt;p&gt;There is no “better” one.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Need &lt;strong&gt;fast access&lt;/strong&gt; → go with ArrayList&lt;/li&gt;
&lt;li&gt;Need &lt;strong&gt;easy modification&lt;/strong&gt; → go with LinkedList&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It all depends on how you use your data.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Comparable Interface in Java</title>
      <dc:creator>KIRAN RAJ</dc:creator>
      <pubDate>Mon, 20 Apr 2026 17:01:53 +0000</pubDate>
      <link>https://dev.to/kiran_raj_2004/comparable-interface-in-java-m36</link>
      <guid>https://dev.to/kiran_raj_2004/comparable-interface-in-java-m36</guid>
      <description>&lt;p&gt;&lt;strong&gt;Comparable Interface in Java&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;In Java, the Comparable interface is used to compare objects and define their natural ordering.&lt;/p&gt;

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

&lt;p&gt;Comparing students based on marks&lt;/p&gt;

&lt;p&gt;Comparing products based on price&lt;/p&gt;

&lt;p&gt;Sorting strings alphabetically&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Why Do We Need Comparable?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Primitive values like int or double can be compared easily.&lt;br&gt;
But for custom objects like Student or Employee, Java does not know how to compare them by default.&lt;/p&gt;

&lt;p&gt;So, we define the comparison logic using the Comparable interface.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Definition&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="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;interface&lt;/span&gt; &lt;span class="nc"&gt;Comparable&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="no"&gt;T&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;compareTo&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="no"&gt;T&lt;/span&gt; &lt;span class="n"&gt;o&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;The key method is compareTo().&lt;/p&gt;




&lt;p&gt;*&lt;em&gt;How compareTo() Works&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Returns a negative value → current object is smaller&lt;/p&gt;

&lt;p&gt;Returns 0 → both objects are equal&lt;/p&gt;

&lt;p&gt;Returns a positive value → current object is greater&lt;/p&gt;

&lt;p&gt;This is the basis for sorting.&lt;/p&gt;



&lt;p&gt;Example: Sorting Students by Marks&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.*&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Student&lt;/span&gt; &lt;span class="kd"&gt;implements&lt;/span&gt; &lt;span class="nc"&gt;Comparable&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Student&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;marks&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;name&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="nc"&gt;Student&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;name&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;marks&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;marks&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;marks&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;compareTo&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Student&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;marks&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;marks&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// ascending order&lt;/span&gt;
    &lt;span class="o"&gt;}&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;List&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Student&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;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="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Student&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="mi"&gt;80&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="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Student&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="mi"&gt;60&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="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Student&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="mi"&gt;90&lt;/span&gt;&lt;span class="o"&gt;));&lt;/span&gt;

        &lt;span class="nc"&gt;Collections&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;sort&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="k"&gt;for&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Student&lt;/span&gt; &lt;span class="n"&gt;s&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="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;s&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;name&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;s&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;marks&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;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;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;B 60
A 80
C 90
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Key Points&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Comparable defines natural (default) ordering&lt;/p&gt;

&lt;p&gt;It is implemented inside the class&lt;/p&gt;

&lt;p&gt;Collections.sort() automatically uses it&lt;/p&gt;

&lt;p&gt;You must override compareTo()&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Comparable vs Comparator&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Comparable&lt;/th&gt;
&lt;th&gt;Comparator&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Implemented inside the class&lt;/td&gt;
&lt;td&gt;Implemented in a separate class&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Only one sorting logic&lt;/td&gt;
&lt;td&gt;Multiple sorting logics possible&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Uses compareTo()&lt;/td&gt;
&lt;td&gt;Uses compare()&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;p&gt;&lt;strong&gt;Simple Analogy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Comparable: the object decides how it should be compared&lt;br&gt;
Comparator: an external logic decides how objects are compared&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Final Line&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Comparable interface allows you to define a default sorting behavior for your objects.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>ArrayList Methods in Java</title>
      <dc:creator>KIRAN RAJ</dc:creator>
      <pubDate>Sun, 19 Apr 2026 18:15:27 +0000</pubDate>
      <link>https://dev.to/kiran_raj_2004/arraylist-methods-in-java-2e38</link>
      <guid>https://dev.to/kiran_raj_2004/arraylist-methods-in-java-2e38</guid>
      <description>&lt;h1&gt;
  
  
  ArrayList Methods in Java
&lt;/h1&gt;

&lt;p&gt;When I first started learning Java, arrays were a bit confusing because of fixed size. Then I came across &lt;strong&gt;ArrayList&lt;/strong&gt;, and it felt much easier to use.&lt;/p&gt;

&lt;p&gt;Basically, ArrayList is like an improved version of array. You don’t need to decide the size before. It grows when you add data.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is ArrayList?
&lt;/h2&gt;

&lt;p&gt;ArrayList is a class in Java used to store multiple values. It allows duplicate values and keeps order.&lt;/p&gt;

&lt;p&gt;In simple terms,&lt;br&gt;
it is just a dynamic array.&lt;/p&gt;


&lt;h2&gt;
  
  
  Creating an ArrayList
&lt;/h2&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.ArrayList&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&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;String&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;h2&gt;
  
  
  Methods I used the most
&lt;/h2&gt;
&lt;h3&gt;
  
  
  add()
&lt;/h3&gt;

&lt;p&gt;This is the first method everyone uses. It just adds elements.&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;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;"Apple"&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;"Banana"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Also we can add using index:&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;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="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"Mango"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  get()
&lt;/h3&gt;

&lt;p&gt;Used to take value from list.&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;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;p&gt;Index starts from 0, same like array.&lt;/p&gt;




&lt;h3&gt;
  
  
  set()
&lt;/h3&gt;

&lt;p&gt;If you want to change something:&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;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;set&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;"Orange"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It replaces the old value.&lt;/p&gt;




&lt;h3&gt;
  
  
  remove()
&lt;/h3&gt;

&lt;p&gt;Used to delete.&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;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;0&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;remove&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Apple"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Both ways will work.&lt;/p&gt;




&lt;h3&gt;
  
  
  size()
&lt;/h3&gt;

&lt;p&gt;To know how many elements are there:&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;list&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;
  
  
  contains()
&lt;/h3&gt;

&lt;p&gt;Sometimes we need to check if item is present.&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;list&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;contains&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Banana"&lt;/span&gt;&lt;span class="o"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  isEmpty()
&lt;/h3&gt;

&lt;p&gt;Simple check:&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;list&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;
  
  
  clear()
&lt;/h3&gt;

&lt;p&gt;Deletes everything.&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;list&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;h2&gt;
  
  
  Looping
&lt;/h2&gt;

&lt;p&gt;Normal for loop:&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="kt"&gt;int&lt;/span&gt; &lt;span class="n"&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="o"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&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;size&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt; &lt;span class="n"&gt;i&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;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="n"&gt;i&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;For-each (easy one):&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;String&lt;/span&gt; &lt;span class="n"&gt;s&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="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;s&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;h2&gt;
  
  
  Small program I tried
&lt;/h2&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.ArrayList&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;Demo&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;ArrayList&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;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;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;"Tea"&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;"Coffee"&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;"Boost"&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;remove&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Coffee"&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;String&lt;/span&gt; &lt;span class="n"&gt;s&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="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;s&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;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Final
&lt;/h2&gt;

&lt;p&gt;ArrayList is very useful. Once you start using it, you won’t feel like going back to arrays for most cases.&lt;/p&gt;

&lt;p&gt;At first I just memorized methods, but later when I practiced, it became easy.&lt;/p&gt;

&lt;p&gt;That’s it. Nothing big. Just practice &lt;/p&gt;




</description>
    </item>
    <item>
      <title>ArrayList vs LinkedList in Java</title>
      <dc:creator>KIRAN RAJ</dc:creator>
      <pubDate>Sat, 18 Apr 2026 04:53:43 +0000</pubDate>
      <link>https://dev.to/kiran_raj_2004/arraylist-vs-linkedlist-in-java-2242</link>
      <guid>https://dev.to/kiran_raj_2004/arraylist-vs-linkedlist-in-java-2242</guid>
      <description>&lt;p&gt;&lt;strong&gt;ArrayList vs LinkedList in Java&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I used to think ArrayList and LinkedList are basically the same thing.&lt;br&gt;
Because when you’re coding, both feel similar — you just call add(), get(), and move on.&lt;/p&gt;

&lt;p&gt;But after using them a bit more, the difference starts to show. Not immediately, but when the list gets bigger or when you keep modifying it.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;ArrayList&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ArrayList is kind of like a normal array, but it grows automatically.&lt;/p&gt;

&lt;p&gt;So everything is stored in order, one next to another. Because of that, accessing elements is quick.&lt;br&gt;
If you know the index, you’ll get the value instantly.&lt;/p&gt;

&lt;p&gt;The only thing is, inserting or deleting in between isn’t that smooth.&lt;br&gt;
Other elements need to shift, so it takes some extra work internally.&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;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="mi"&gt;10&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="mi"&gt;20&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;1&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;LinkedList&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;LinkedList works differently. It doesn’t store elements in a continuous way.&lt;/p&gt;

&lt;p&gt;Each element is connected to the next one (and previous too). So it’s more like a chain.&lt;/p&gt;

&lt;p&gt;Because of this, inserting or removing elements is easier — it just updates the links.&lt;br&gt;
But accessing is slower, since it has to go step by step.&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="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;LinkedList&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&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="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;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="mi"&gt;20&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;1&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;What I understood&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Instead of remembering all details, I just think like this:&lt;/p&gt;

&lt;p&gt;If I need fast access → I use ArrayList&lt;br&gt;
If I keep adding/removing → LinkedList makes more sense&lt;/p&gt;

&lt;p&gt;That’s how I usually decide.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;In practice&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most of the time, I end up using ArrayList. It’s simple and works fine for general cases.&lt;/p&gt;

&lt;p&gt;LinkedList is useful, but I don’t reach for it unless there’s a clear reason.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Final note&lt;/strong&gt;&lt;br&gt;
Both are part of the same interface, but they behave differently inside.&lt;/p&gt;

&lt;p&gt;So choosing one depends on what your program is doing more — reading or modifying.&lt;/p&gt;




</description>
    </item>
    <item>
      <title>Java Collections Framework</title>
      <dc:creator>KIRAN RAJ</dc:creator>
      <pubDate>Thu, 16 Apr 2026 19:37:10 +0000</pubDate>
      <link>https://dev.to/kiran_raj_2004/java-collections-framework-3nkb</link>
      <guid>https://dev.to/kiran_raj_2004/java-collections-framework-3nkb</guid>
      <description>&lt;p&gt;&lt;strong&gt;Java Collections Framework&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Java Collections Framework is used to store and manage a group of objects in an easy way.&lt;/p&gt;

&lt;p&gt;Instead of creating everything from scratch, Java already gives ready-made classes like ArrayList, HashSet, and HashMap. We can directly use them.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;1. What is a Collection?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A collection means a group of data.&lt;br&gt;
For example, storing multiple names or numbers together.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;2. Why do we use Collections?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before collections:&lt;/p&gt;

&lt;p&gt;If we want to store many values, we had to create many variables → confusing&lt;/p&gt;

&lt;p&gt;Then arrays came → better, but still not perfect&lt;/p&gt;

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

&lt;p&gt;Size is fixed&lt;/p&gt;

&lt;p&gt;Memory can be wasted&lt;/p&gt;

&lt;p&gt;Not flexible&lt;/p&gt;

&lt;p&gt;So Java introduced Collections to solve these issues.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;3. Advantages (Simple way)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No need to write your own data structures&lt;/p&gt;

&lt;p&gt;Works faster (already optimized)&lt;/p&gt;

&lt;p&gt;Can reuse in many programs&lt;/p&gt;

&lt;p&gt;Easy to learn (same pattern – List, Set, Map)&lt;/p&gt;

&lt;p&gt;Code looks clean and simple&lt;/p&gt;

&lt;p&gt;Size can increase or decrease anytime&lt;/p&gt;

&lt;p&gt;Extra help methods like sorting and searching available&lt;/p&gt;




</description>
    </item>
    <item>
      <title>Java File Handling</title>
      <dc:creator>KIRAN RAJ</dc:creator>
      <pubDate>Tue, 07 Apr 2026 15:51:04 +0000</pubDate>
      <link>https://dev.to/kiran_raj_2004/java-file-handling-f3n</link>
      <guid>https://dev.to/kiran_raj_2004/java-file-handling-f3n</guid>
      <description>&lt;h2&gt;
  
  
  Java File Handling
&lt;/h2&gt;

&lt;p&gt;What I understood about File Handling&lt;/p&gt;

&lt;p&gt;When I started learning Java, one thing I noticed is that data inside a program does not stay forever. Once the program stops, everything is gone. Because of that, we use files to store data.&lt;/p&gt;

&lt;p&gt;So, file handling is basically working with files like creating them, writing something into them, reading the content later, and sometimes deleting them.&lt;/p&gt;




&lt;h2&gt;
  
  
  File Class (Basic Idea)
&lt;/h2&gt;

&lt;p&gt;In Java, we usually use the File class from the java.io package. It is mainly used to refer to a file path.&lt;/p&gt;

&lt;p&gt;One small confusion I had at first was thinking it creates a file directly. But actually, it just creates an object that points to a location.&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.io.File&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;Test&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;File&lt;/span&gt; &lt;span class="n"&gt;myFile&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;File&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"data.txt"&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="s"&gt;"Just created a reference, not the actual file"&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;h2&gt;
  
  
  Creating the File
&lt;/h2&gt;

&lt;p&gt;To actually create the file in the system, we use createNewFile().&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.io.File&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.IOException&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;FileCreate&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="k"&gt;try&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="nc"&gt;File&lt;/span&gt; &lt;span class="n"&gt;myFile&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;File&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"data.txt"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;myFile&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;createNewFile&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="s"&gt;"New file created"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&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="s"&gt;"File already exists"&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;span class="k"&gt;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;IOException&lt;/span&gt; &lt;span class="n"&gt;e&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="s"&gt;"Something went wrong while creating file"&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;span class="o"&gt;}&lt;/span&gt;

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

&lt;/div&gt;






&lt;h2&gt;
  
  
  Writing into the File
&lt;/h2&gt;

&lt;p&gt;To write something into the file, we can use FileWriter. One important thing is to close it after writing.&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.io.FileWriter&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;FileWrite&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="k"&gt;try&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="nc"&gt;FileWriter&lt;/span&gt; &lt;span class="n"&gt;writer&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;FileWriter&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"data.txt"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

            &lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;write&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"This is just a practice example."&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;close&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="s"&gt;"Writing done"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

        &lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Exception&lt;/span&gt; &lt;span class="n"&gt;e&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="s"&gt;"Error while writing"&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;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Reading the File
&lt;/h2&gt;

&lt;p&gt;For reading, I used Scanner because it is easy to understand. It reads line by line.&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.io.File&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.util.Scanner&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;FileRead&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="k"&gt;try&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="nc"&gt;File&lt;/span&gt; &lt;span class="n"&gt;myFile&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;File&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"data.txt"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
            &lt;span class="nc"&gt;Scanner&lt;/span&gt; &lt;span class="n"&gt;sc&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;Scanner&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;myFile&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

            &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;hasNextLine&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;sc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;nextLine&lt;/span&gt;&lt;span class="o"&gt;());&lt;/span&gt;
            &lt;span class="o"&gt;}&lt;/span&gt;

            &lt;span class="n"&gt;sc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;close&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;

        &lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Exception&lt;/span&gt; &lt;span class="n"&gt;e&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="s"&gt;"Could not read the file"&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;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Deleting the File
&lt;/h2&gt;

&lt;p&gt;If the file is not needed, we can delete it using delete().&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.io.File&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;FileDelete&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;File&lt;/span&gt; &lt;span class="n"&gt;myFile&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;File&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"data.txt"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;myFile&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;delete&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="s"&gt;"File deleted successfully"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&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="s"&gt;"Delete failed"&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;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Streams (Just Basic Understanding)
&lt;/h2&gt;

&lt;p&gt;While reading about this, I found that Java uses streams internally.&lt;/p&gt;

&lt;p&gt;Byte streams - used for images or other binary data&lt;/p&gt;

&lt;p&gt;Character streams - used for text&lt;/p&gt;

&lt;p&gt;Some classes I came across are FileReader and FileWriter.&lt;/p&gt;




&lt;h2&gt;
  
  
  Errors I Faced
&lt;/h2&gt;

&lt;p&gt;While trying these programs, I got errors like file not found and sometimes permission issues. Using try-catch helped me handle those errors.&lt;/p&gt;




&lt;h2&gt;
  
  
  Conclusion (My Understanding)
&lt;/h2&gt;

&lt;p&gt;File handling is simple once we practice it. At first it felt confusing, but after trying examples, it became clear how Java works with files.&lt;/p&gt;

&lt;p&gt;I feel practicing small programs is the best way to understand this topic.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>java</category>
    </item>
    <item>
      <title>Java File Handling</title>
      <dc:creator>KIRAN RAJ</dc:creator>
      <pubDate>Mon, 06 Apr 2026 05:46:22 +0000</pubDate>
      <link>https://dev.to/kiran_raj_2004/java-file-handling-2e1i</link>
      <guid>https://dev.to/kiran_raj_2004/java-file-handling-2e1i</guid>
      <description>&lt;h2&gt;
  
  
  What is File Handling?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;File Handling in Java&lt;/strong&gt; is the process of &lt;strong&gt;creating, reading, writing, updating, and deleting files&lt;/strong&gt; using Java programs.&lt;/p&gt;

&lt;p&gt;👉 It helps programs to &lt;strong&gt;store data permanently&lt;/strong&gt; instead of only in memory.&lt;/p&gt;




&lt;h2&gt;
  
  
  📁 What is a File?
&lt;/h2&gt;

&lt;p&gt;A &lt;strong&gt;file&lt;/strong&gt; is a collection of data stored in a storage device (like hard disk).&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;notes.txt&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;data.pdf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;image.jpg&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📂 What is a Directory (Folder)?
&lt;/h2&gt;

&lt;p&gt;A &lt;strong&gt;directory (folder)&lt;/strong&gt; is a container used to store files and other folders.&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Documents/
   ├── notes.txt
   ├── resume.pdf
   └── Images/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  ⚙️ What is the File Class?
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;File&lt;/code&gt; class in Java is used to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create files&lt;/li&gt;
&lt;li&gt;Check file properties&lt;/li&gt;
&lt;li&gt;List files and folders&lt;/li&gt;
&lt;li&gt;Delete files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 It belongs to:&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;java&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;io&lt;/span&gt; &lt;span class="kn"&gt;package&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🔑 Important Methods (Definition)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;createNewFile()&lt;/code&gt; → Creates a new file&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;listFiles()&lt;/code&gt; → Lists all files in a directory&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;isFile()&lt;/code&gt; → Checks if it is a file&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;isDirectory()&lt;/code&gt; → Checks if it is a folder&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;getName()&lt;/code&gt; → Returns file/folder name&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;delete()&lt;/code&gt; → Deletes a file&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔤 String Methods Used in File Handling
&lt;/h2&gt;

&lt;p&gt;👉 File handling often uses String methods:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;toLowerCase()&lt;/code&gt; → ignore case&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;endsWith()&lt;/code&gt; → check file type&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;substring()&lt;/code&gt; → extract extension&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;lastIndexOf()&lt;/code&gt; → find extension position&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  💾 Why File Handling is Important?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Store data permanently&lt;/li&gt;
&lt;li&gt;Read/write application data&lt;/li&gt;
&lt;li&gt;Work with system files&lt;/li&gt;
&lt;li&gt;Used in real-world apps (logs, configs, reports)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Short Conclusion
&lt;/h2&gt;

&lt;p&gt;File handling is a &lt;strong&gt;core concept in Java&lt;/strong&gt; that allows developers to interact with system files and build practical applications.&lt;/p&gt;




</description>
    </item>
    <item>
      <title>Java Exception Handling – 20 Scenarios Q&amp;A</title>
      <dc:creator>KIRAN RAJ</dc:creator>
      <pubDate>Sat, 04 Apr 2026 04:29:27 +0000</pubDate>
      <link>https://dev.to/kiran_raj_2004/java-exception-handling-20-scenarios-qa-22b6</link>
      <guid>https://dev.to/kiran_raj_2004/java-exception-handling-20-scenarios-qa-22b6</guid>
      <description>&lt;p&gt;Java Exception Handling – 20 Real-Time Scenarios Explained&lt;/p&gt;

&lt;p&gt;Introduction&lt;/p&gt;

&lt;h2&gt;
  
  
  Exception handling in Java helps developers manage runtime errors and keep applications stable. Let’s understand all key concepts through real-time scenarios.
&lt;/h2&gt;

&lt;h2&gt;
  
  
  1.What is an Exception?
&lt;/h2&gt;

&lt;p&gt;While running your app, a calculation crashes.&lt;/p&gt;

&lt;p&gt;✔ Answer: Runtime error&lt;/p&gt;




&lt;h2&gt;
  
  
  2.How to Handle Exceptions?
&lt;/h2&gt;

&lt;p&gt;You want to prevent app crash.&lt;/p&gt;

&lt;p&gt;✔ Answer: Use try, catch, and throw&lt;/p&gt;




&lt;h2&gt;
  
  
  3.Root Class of Exceptions
&lt;/h2&gt;

&lt;p&gt;You want to know the parent of all exceptions.&lt;/p&gt;

&lt;p&gt;✔ Answer: Throwable&lt;/p&gt;




&lt;h2&gt;
  
  
  4.Code That Always Runs
&lt;/h2&gt;

&lt;p&gt;You want cleanup code to always execute.&lt;/p&gt;

&lt;p&gt;✔ Answer: finally&lt;/p&gt;




&lt;h2&gt;
  
  
  5.Divide by Zero
&lt;/h2&gt;

&lt;p&gt;User enters 0 in division.&lt;/p&gt;

&lt;p&gt;✔Answer: ArithmeticException&lt;/p&gt;




&lt;h2&gt;
  
  
  6.Checked Exception
&lt;/h2&gt;

&lt;p&gt;File reading operation.&lt;/p&gt;

&lt;p&gt;✔ Answer: IOException&lt;/p&gt;




&lt;h2&gt;
  
  
  7.Not Handling Exception
&lt;/h2&gt;

&lt;p&gt;You ignore exception.&lt;/p&gt;

&lt;p&gt;✔Answer: Program terminates&lt;/p&gt;




&lt;h2&gt;
  
  
  8.Correct Block Order
&lt;/h2&gt;

&lt;p&gt;Writing try-catch-finally.&lt;/p&gt;

&lt;p&gt;✔ Answer: try → catch → finally&lt;/p&gt;




&lt;h2&gt;
  
  
  9.Manually Throw Exception
&lt;/h2&gt;

&lt;p&gt;Validate input and throw error.&lt;/p&gt;

&lt;p&gt;✔ Answer: throw&lt;/p&gt;




&lt;h2&gt;
  
  
  10. Declare Exception
&lt;/h2&gt;

&lt;p&gt;Inform method may throw exception.&lt;/p&gt;

&lt;p&gt;✔ Answer: throws&lt;/p&gt;




&lt;h2&gt;
  
  
  11.Arithmetic Exception Handling
&lt;/h2&gt;

&lt;p&gt;Division by zero inside try.&lt;/p&gt;

&lt;p&gt;✔ Answer: "Error" printed&lt;/p&gt;




&lt;h2&gt;
  
  
  12.Null Value Access
&lt;/h2&gt;

&lt;p&gt;Access method on null.&lt;/p&gt;

&lt;p&gt;✔ Answer: "Handled" printed&lt;/p&gt;




&lt;h2&gt;
  
  
  13.Wrong Catch Order
&lt;/h2&gt;

&lt;p&gt;Parent class before child class.&lt;/p&gt;

&lt;p&gt;✔ Answer: Wrong order&lt;/p&gt;




&lt;h2&gt;
  
  
  14.Array Index Error
&lt;/h2&gt;

&lt;p&gt;Access invalid index.&lt;/p&gt;

&lt;p&gt;✔ Answer: "Out of bounds"&lt;/p&gt;




&lt;p&gt;15.System.exit() Case&lt;/p&gt;

&lt;p&gt;Program exits forcefully.&lt;/p&gt;

&lt;p&gt;✔ Answer: finally will NOT execute&lt;/p&gt;




&lt;h2&gt;
  
  
  16.Try Without Catch
&lt;/h2&gt;

&lt;p&gt;Writing only try block.&lt;/p&gt;

&lt;p&gt;✔ Answer: Only valid with finally&lt;/p&gt;




&lt;h2&gt;
  
  
  17.Unchecked Exception
&lt;/h2&gt;

&lt;p&gt;Runtime error (null access).&lt;/p&gt;

&lt;p&gt;✔ Answer: NullPointerException&lt;/p&gt;




&lt;h2&gt;
  
  
  18.Exception Propagation
&lt;/h2&gt;

&lt;p&gt;Method doesn’t handle exception.&lt;/p&gt;

&lt;p&gt;✔ Answer: Passed to caller&lt;/p&gt;




&lt;h2&gt;
  
  
  19.Who Handles Exception?
&lt;/h2&gt;

&lt;p&gt;Which block manages error.&lt;/p&gt;

&lt;p&gt;✔ Answer: catch&lt;/p&gt;




&lt;h2&gt;
  
  
  20.Purpose of Finally
&lt;/h2&gt;

&lt;p&gt;Cleanup operations needed.&lt;/p&gt;

&lt;p&gt;✔ Answer: Execute cleanup code&lt;/p&gt;




&lt;h2&gt;
  
  
  21.Student Result Validation
&lt;/h2&gt;

&lt;p&gt;Marks must be between 0–100&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;if&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;marks&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="n"&gt;marks&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="o"&gt;){&lt;/span&gt;
    &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nf"&gt;IllegalArgumentException&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Invalid marks"&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;h2&gt;
  
  
  22: Checked vs Unchecked
&lt;/h2&gt;

&lt;p&gt;👉 Use:&lt;/p&gt;

&lt;p&gt;Checked → external issues&lt;/p&gt;

&lt;p&gt;Unchecked → coding mistakes&lt;/p&gt;




&lt;h2&gt;
  
  
  23.Finally Not Executed
&lt;/h2&gt;

&lt;p&gt;System.exit(0) → finally skip&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Summary
&lt;/h2&gt;

&lt;p&gt;Exception = runtime error&lt;/p&gt;

&lt;p&gt;try-catch = handle&lt;/p&gt;

&lt;p&gt;finally = cleanup&lt;/p&gt;

&lt;p&gt;throw = create&lt;/p&gt;

&lt;p&gt;throws = declare&lt;/p&gt;

&lt;p&gt;propagation = pass to caller&lt;/p&gt;




</description>
    </item>
    <item>
      <title>Exception Handling In Java(Complete Guide with Examples)</title>
      <dc:creator>KIRAN RAJ</dc:creator>
      <pubDate>Fri, 03 Apr 2026 04:35:31 +0000</pubDate>
      <link>https://dev.to/kiran_raj_2004/exception-handling-in-javacomplete-guide-with-examples-1n97</link>
      <guid>https://dev.to/kiran_raj_2004/exception-handling-in-javacomplete-guide-with-examples-1n97</guid>
      <description>&lt;p&gt;Exception Handling in Java &lt;/p&gt;

&lt;h2&gt;
  
  
  - Introduction
&lt;/h2&gt;

&lt;p&gt;Exception handling is a powerful mechanism in Java that helps developers manage runtime errors and maintain the normal flow of applications. Instead of crashing the program, Java allows you to handle unexpected situations gracefully using structured blocks like try, catch, and finally.&lt;/p&gt;




&lt;h2&gt;
  
  
  1.What is an Exception?
&lt;/h2&gt;

&lt;p&gt;An exception is an error that occurs during the execution of a program (runtime error).&lt;/p&gt;

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

&lt;p&gt;int a = 10;&lt;br&gt;
int b = 0;&lt;br&gt;
int c = a / b; // ArithmeticException&lt;/p&gt;


&lt;h2&gt;
  
  
  2.Types of Exceptions
&lt;/h2&gt;

&lt;p&gt;✅ Checked Exceptions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Checked at compile time&lt;/li&gt;
&lt;li&gt;Must be handled using try-catch or throws&lt;/li&gt;
&lt;li&gt;Example: IOException, SQLException&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;❌ Unchecked Exceptions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Occur at runtime&lt;/li&gt;
&lt;li&gt;Not mandatory to handle&lt;/li&gt;
&lt;li&gt;Example: NullPointerException, ArithmeticException&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  3.Important Keywords
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;try&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Wraps code that may cause an exception.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;catch&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Handles the exception.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;finally&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Always executes (except when JVM stops).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;throw&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Used to explicitly throw an exception.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;throws&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Declares exceptions in a method signature.&lt;/p&gt;


&lt;h2&gt;
  
  
  4.Order of Execution
&lt;/h2&gt;

&lt;p&gt;Correct order:&lt;/p&gt;

&lt;p&gt;try → catch → finally&lt;/p&gt;


&lt;h2&gt;
  
  
  5.Common Exceptions
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Divide by zero → ArithmeticException&lt;/li&gt;
&lt;li&gt;Null value access → NullPointerException&lt;/li&gt;
&lt;li&gt;Invalid array index → ArrayIndexOutOfBoundsException&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  6.Exception Propagation
&lt;/h2&gt;

&lt;p&gt;Exception propagation means passing an exception from one method to another until it is handled.&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;void&lt;/span&gt; &lt;span class="nf"&gt;method1&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;x&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="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;method2&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;method1&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;method3&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;method2&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Exception&lt;/span&gt; &lt;span class="n"&gt;e&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="s"&gt;"Handled"&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;Code Examples&lt;/p&gt;

&lt;h2&gt;
  
  
  7.Handling Exception
&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;try&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;x&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="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;ArithmeticException&lt;/span&gt; &lt;span class="n"&gt;e&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="s"&gt;"Error"&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;h2&gt;
  
  
  8.Null Handling
&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;try&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;s&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&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;s&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;length&lt;/span&gt;&lt;span class="o"&gt;());&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Exception&lt;/span&gt; &lt;span class="n"&gt;e&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="s"&gt;"Handled"&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;h2&gt;
  
  
  9.Throw Example
&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;if&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;marks&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="n"&gt;marks&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="o"&gt;){&lt;/span&gt;
    &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nf"&gt;IllegalArgumentException&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Invalid marks"&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;h2&gt;
  
  
  10.SpecialCase:System.exit()
&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;try&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;exit&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;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;finally&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="s"&gt;"Finally"&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;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Output: Finally will NOT execute
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Reason: JVM stops immediately.&lt;/p&gt;




&lt;h2&gt;
  
  
  11. Purpose of Finally Block
&lt;/h2&gt;

&lt;p&gt;Used for cleanup operations:&lt;/p&gt;

&lt;p&gt;Closing files&lt;/p&gt;

&lt;p&gt;Releasing resources&lt;/p&gt;

&lt;p&gt;Closing database connections&lt;/p&gt;




&lt;h2&gt;
  
  
  12.Important Rules
&lt;/h2&gt;

&lt;p&gt;try cannot exist alone&lt;/p&gt;

&lt;p&gt;Must be followed by catch or finally&lt;/p&gt;

&lt;p&gt;catch blocks must be ordered from specific → general&lt;/p&gt;

&lt;p&gt;Parent class (Exception) should come last&lt;/p&gt;




&lt;h2&gt;
  
  
  13.Quick Summary
&lt;/h2&gt;

&lt;p&gt;Exception = Runtime error&lt;/p&gt;

&lt;p&gt;try-catch = Handle errors&lt;/p&gt;

&lt;p&gt;finally = Cleanup&lt;/p&gt;

&lt;p&gt;throw = Create exception&lt;/p&gt;

&lt;p&gt;throws = Declare exception&lt;/p&gt;

&lt;p&gt;Propagation = Passing exception to caller&lt;/p&gt;




&lt;h2&gt;
  
  
  14.Conclusion
&lt;/h2&gt;

&lt;p&gt;Exception handling is essential for building robust Java applications. By using proper handling techniques, developers can prevent crashes, improve user experience, and write clean, maintainable code.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Java Exception Handling:Understanding throw vs throws</title>
      <dc:creator>KIRAN RAJ</dc:creator>
      <pubDate>Wed, 01 Apr 2026 18:02:03 +0000</pubDate>
      <link>https://dev.to/kiran_raj_2004/java-exception-handlingunderstanding-throw-vs-throws-2l43</link>
      <guid>https://dev.to/kiran_raj_2004/java-exception-handlingunderstanding-throw-vs-throws-2l43</guid>
      <description>&lt;p&gt;Exception Handling in Java: throw vs throws&lt;/p&gt;

&lt;p&gt;When writing Java programs, errors can happen anytime — like dividing by zero, invalid input, or file issues.&lt;br&gt;
To handle these situations properly, Java provides exception handling.&lt;/p&gt;

&lt;p&gt;Two important keywords in Java exception handling are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;throw&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;throws&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  1.What is an Exception?
&lt;/h2&gt;

&lt;p&gt;An exception is an unwanted event that stops the normal flow of a program.&lt;/p&gt;

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

&lt;p&gt;int a = 10;&lt;br&gt;
int b = 0;&lt;br&gt;
int result = a / b; // ArithmeticException&lt;/p&gt;


&lt;h2&gt;
  
  
  2.What is throw in Java?
&lt;/h2&gt;

&lt;p&gt;throw is used to manually create and throw an exception.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It is used inside a method.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ Syntax:&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;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;ExceptionType&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Error message"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Test&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="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;age&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

        &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;age&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;18&lt;/span&gt;&lt;span class="o"&gt;){&lt;/span&gt;
            &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nf"&gt;ArithmeticException&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Not eligible to vote"&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="s"&gt;"Eligible"&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;Explanation:&lt;/p&gt;

&lt;p&gt;If condition is true → exception is thrown manually&lt;/p&gt;

&lt;p&gt;Program stops unless handled&lt;/p&gt;




&lt;ol&gt;
&lt;li&gt;What is throws in Java?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;throws is used to declare exceptions that a method might throw.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It is used in method signature.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;✅ Syntax:&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;returnType&lt;/span&gt; &lt;span class="nf"&gt;methodName&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="kd"&gt;throws&lt;/span&gt; &lt;span class="nc"&gt;ExceptionType&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;java.io.*&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;Test&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;readFile&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="kd"&gt;throws&lt;/span&gt; &lt;span class="nc"&gt;IOException&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="nc"&gt;FileReader&lt;/span&gt; &lt;span class="n"&gt;file&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;FileReader&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"test.txt"&lt;/span&gt;&lt;span class="o"&gt;);&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="k"&gt;try&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;readFile&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;IOException&lt;/span&gt; &lt;span class="n"&gt;e&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="s"&gt;"File not found"&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;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Explanation:&lt;/p&gt;

&lt;p&gt;throws tells the compiler: "This method may cause an exception"&lt;/p&gt;

&lt;p&gt;The caller must handle it using try-catch&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Difference Between throw and throws
&lt;/h2&gt;

&lt;p&gt;Feature throw   throws&lt;/p&gt;

&lt;p&gt;Usage   Used to throw exception Used to declare exception&lt;br&gt;
Location    Inside method   Method signature&lt;br&gt;
Number  Only one exception at a time    Multiple exceptions allowed&lt;br&gt;
Keyword Type    Statement   Declaration&lt;/p&gt;




&lt;p&gt;💡 Real-Life Analogy&lt;/p&gt;

&lt;p&gt;throw 👉 You actually throw a ball&lt;/p&gt;

&lt;p&gt;throws 👉 You warn someone that you may throw a ball&lt;/p&gt;




&lt;h2&gt;
  
  
  5.When to Use?
&lt;/h2&gt;

&lt;p&gt;✔ Use throw&lt;/p&gt;

&lt;p&gt;When you want to create custom error conditions&lt;/p&gt;

&lt;p&gt;For validation (age, input, etc.)&lt;/p&gt;

&lt;p&gt;✔ Use throws&lt;/p&gt;

&lt;p&gt;When method might cause checked exceptions&lt;/p&gt;

&lt;p&gt;When you want caller to handle exception&lt;/p&gt;




</description>
    </item>
    <item>
      <title>Advantages Of Exception Handling</title>
      <dc:creator>KIRAN RAJ</dc:creator>
      <pubDate>Mon, 30 Mar 2026 07:35:22 +0000</pubDate>
      <link>https://dev.to/kiran_raj_2004/advantages-of-exception-handling-8g2</link>
      <guid>https://dev.to/kiran_raj_2004/advantages-of-exception-handling-8g2</guid>
      <description>&lt;h1&gt;
  
  
  Advantages of Exception Handling in Java
&lt;/h1&gt;

&lt;p&gt;Exception handling is a powerful mechanism in Java that allows developers to manage runtime errors efficiently. Instead of crashing the program, it helps maintain the normal flow of execution and improves the overall reliability of applications.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Maintains Normal Flow of Program
&lt;/h2&gt;

&lt;p&gt;Without exception handling, a program stops abruptly when an error occurs. Using &lt;code&gt;try-catch&lt;/code&gt;, you can handle errors and continue execution smoothly.&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;try&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;result&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="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;ArithmeticException&lt;/span&gt; &lt;span class="n"&gt;e&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="s"&gt;"Cannot divide by zero"&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="s"&gt;"Program continues..."&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  2. Prevents Program Crashes
&lt;/h2&gt;

&lt;p&gt;Exception handling prevents unexpected termination of programs. It catches runtime errors and handles them gracefully.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Without handling → Program crashes&lt;/li&gt;
&lt;li&gt;With handling → Error message shown, program continues&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  3. Separates Error Handling Code
&lt;/h2&gt;

&lt;p&gt;It separates normal code from error-handling code, making programs more readable and maintainable.&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;try&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// main logic&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Exception&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// error handling logic&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  4. Improves Code Readability
&lt;/h2&gt;

&lt;p&gt;When exceptions are handled properly, the code becomes easier to understand and debug.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clean structure&lt;/li&gt;
&lt;li&gt;Organized logic&lt;/li&gt;
&lt;li&gt;Better debugging&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  5. Allows Custom Error Messages
&lt;/h2&gt;

&lt;p&gt;Developers can display meaningful error messages instead of confusing system errors.&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;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;NumberFormatException&lt;/span&gt; &lt;span class="n"&gt;e&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="s"&gt;"Please enter a valid number"&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;h2&gt;
  
  
  🔹 6. Supports Multiple Exception Types
&lt;/h2&gt;

&lt;p&gt;Java allows handling different exceptions separately using multiple &lt;code&gt;catch&lt;/code&gt; blocks.&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;try&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="o"&gt;[]&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;5&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="mi"&gt;10&lt;/span&gt;&lt;span class="o"&gt;]&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="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;ArrayIndexOutOfBoundsException&lt;/span&gt; &lt;span class="n"&gt;e&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="s"&gt;"Array index error"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Exception&lt;/span&gt; &lt;span class="n"&gt;e&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="s"&gt;"General error"&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;h2&gt;
  
  
  7. Ensures Resource Cleanup
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;finally&lt;/code&gt; block ensures that important resources (like files, database connections) are always closed.&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;finally&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="s"&gt;"Closing resources..."&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;h2&gt;
  
  
  8. Enables Robust and Secure Applications
&lt;/h2&gt;

&lt;p&gt;Exception handling helps build strong applications that can handle unexpected situations without failing.&lt;/p&gt;




&lt;h2&gt;
  
  
  9. Helps in Debugging
&lt;/h2&gt;

&lt;p&gt;Using &lt;code&gt;e.printStackTrace()&lt;/code&gt; or logs, developers can easily identify where the error occurred.&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;catch&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Exception&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;printStackTrace&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;



</description>
    </item>
  </channel>
</rss>
