<?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: Aman Verma</title>
    <description>The latest articles on DEV Community by Aman Verma (@aman04).</description>
    <link>https://dev.to/aman04</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%2F3347511%2Fd3cada27-5fd4-44e6-b65e-35fe18f58700.webp</url>
      <title>DEV Community: Aman Verma</title>
      <link>https://dev.to/aman04</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aman04"/>
    <language>en</language>
    <item>
      <title>JAVA ARRAY NOTES_day-2</title>
      <dc:creator>Aman Verma</dc:creator>
      <pubDate>Wed, 25 Feb 2026 02:49:14 +0000</pubDate>
      <link>https://dev.to/aman04/java-array-notesday-2-4do2</link>
      <guid>https://dev.to/aman04/java-array-notesday-2-4do2</guid>
      <description>&lt;p&gt;best Program practise in arrays &lt;br&gt;
Q6) WAP to find the Maximum Element in the Array&lt;/p&gt;

&lt;p&gt;public class MaxElement {&lt;br&gt;
    public static void main(String[] args) {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    int[] arr = {12, 45, 7, 89, 34};

    int max = arr[0];

    for(int num : arr) {
        if(num &amp;gt; max) {
            max = num;
        }
    }

    System.out.println("Maximum Element = " + max);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;✔ Compare each element&lt;br&gt;
✔ Store the largest value&lt;/p&gt;

&lt;p&gt;Q7) HEAP and STACK Diagram&lt;/p&gt;

&lt;p&gt;Array objects are created in the heap memory.&lt;/p&gt;

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

&lt;p&gt;int[] arr = new int[5];&lt;br&gt;
HEAP MEMORY&lt;/p&gt;

&lt;p&gt;1000x: ArrayObject [0, 0, 0, 0, 0]&lt;/p&gt;

&lt;p&gt;STACK MEMORY&lt;/p&gt;

&lt;p&gt;arr → 1000x&lt;/p&gt;

&lt;p&gt;✔ Stack → Reference variable&lt;br&gt;&lt;br&gt;
✔ Heap → Actual Array Object  &lt;/p&gt;







&lt;h2&gt;
  
  
  Q8) Modify Array Element
&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.Arrays&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;ArrayElementModification&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;int&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="nf"&gt;modifyElement&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;arr&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="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;0&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
        &lt;span class="n"&gt;arr&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="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;200&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;2&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;300&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

        &lt;span class="k"&gt;return&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="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;ArrayExDemo8&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="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;val&lt;/span&gt; &lt;span class="o"&gt;=&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;20&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="mi"&gt;40&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="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;"Original Array : "&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nc"&gt;Arrays&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;toString&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="o"&gt;));&lt;/span&gt;

        &lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="o"&gt;[]&lt;/span&gt; &lt;span class="n"&gt;modified&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;ArrayElementModification&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;modifyElement&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;val&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;"After Modification : "&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nc"&gt;Arrays&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;toString&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;modified&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;"Original Array is : "&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nc"&gt;Arrays&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;toString&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;val&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="err"&gt;✔&lt;/span&gt; &lt;span class="nc"&gt;Arrays&lt;/span&gt; &lt;span class="n"&gt;are&lt;/span&gt; &lt;span class="n"&gt;passed&lt;/span&gt; &lt;span class="n"&gt;by&lt;/span&gt; &lt;span class="n"&gt;reference&lt;/span&gt;
&lt;span class="err"&gt;✔&lt;/span&gt; &lt;span class="nc"&gt;Changes&lt;/span&gt; &lt;span class="n"&gt;reflect&lt;/span&gt; &lt;span class="n"&gt;in&lt;/span&gt; &lt;span class="n"&gt;othe&lt;/span&gt; &lt;span class="n"&gt;riginal&lt;/span&gt; &lt;span class="n"&gt;array&lt;/span&gt;

&lt;span class="o"&gt;--------------------------------------------------------&lt;/span&gt;
&lt;span class="no"&gt;Q9&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nc"&gt;Bubble&lt;/span&gt; &lt;span class="nf"&gt;Sort&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Ascending&lt;/span&gt; &lt;span class="nc"&gt;Order&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;br&gt;
java&lt;/p&gt;

&lt;p&gt;import java.util.Arrays;&lt;/p&gt;

&lt;p&gt;public class BubbleSortDemo {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public static void main(String[] args) {

    int[] arr = {20, 10, 30, 40, 50, 90};

    for(int i = 0; i &amp;lt; arr.length; i++) {
        for(int j = i + 1; j &amp;lt; arr.length; j++) {

            if(arr[i] &amp;gt; arr[j]) {
                int temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
    }

    System.out.println("Sorted Array : " + Arrays.toString(arr));
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;✔ Time Complexity → O(n²)&lt;/p&gt;




&lt;h2&gt;
  
  
  Q10) Search Element (Linear Search)
&lt;/h2&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;SearchElement&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="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="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="mi"&gt;30&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;50&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="mi"&gt;30&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;target&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="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;arr&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="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="k"&gt;if&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="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="n"&gt;target&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;"Element found at index : "&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="o"&gt;}&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="err"&gt;✔&lt;/span&gt; &lt;span class="nc"&gt;Linear&lt;/span&gt; &lt;span class="nc"&gt;Search&lt;/span&gt; &lt;span class="err"&gt;→&lt;/span&gt; &lt;span class="no"&gt;O&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;

&lt;span class="o"&gt;--------------------------------------------------------&lt;/span&gt;
&lt;span class="no"&gt;Q11&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nc"&gt;Find&lt;/span&gt; &lt;span class="nc"&gt;Duplicate&lt;/span&gt; &lt;span class="nc"&gt;Elements&lt;/span&gt;
&lt;span class="o"&gt;--------------------------------------------------------&lt;/span&gt;

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

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
java&lt;/p&gt;

&lt;p&gt;public class DuplicateDemo {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public static void main(String[] args) {

    int[] arr = {2,3,9,2,8,7,3,2};

    for(int i = 0; i &amp;lt; arr.length; i++) {
        for(int j = i + 1; j &amp;lt; arr.length; j++) {

            if(arr[i] == arr[j]) {
                System.out.println("Duplicate Element : " + arr[i]);
            }
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;✔ Nested Loop → O(n²)&lt;/p&gt;




&lt;h2&gt;
  
  
  Q11) Remove Duplicate Elements
&lt;/h2&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;RemoveDuplicate&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="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="o"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&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="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;arr&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="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="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;j&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="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;arr&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="n"&gt;j&lt;/span&gt;&lt;span class="o"&gt;++)&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;arr&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="n"&gt;arr&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="o"&gt;])&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="n"&gt;j&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="mi"&gt;1&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;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;num&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="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;num&lt;/span&gt; &lt;span class="o"&gt;!=&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="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;print&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;num&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="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;span class="o"&gt;--------------------------------------------------------&lt;/span&gt;
&lt;span class="no"&gt;Q12&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="nc"&gt;Insert&lt;/span&gt; &lt;span class="nc"&gt;Element&lt;/span&gt; &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="nc"&gt;Last&lt;/span&gt; &lt;span class="nc"&gt;Position&lt;/span&gt;
&lt;span class="o"&gt;--------------------------------------------------------&lt;/span&gt;

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

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
java&lt;/p&gt;

&lt;p&gt;import java.util.Arrays;&lt;/p&gt;

&lt;p&gt;class InsertAtLast {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public static int[] insertLast(int[] arr, int element) {

    int[] newArr = new int[arr.length + 1];

    for(int i = 0; i &amp;lt; arr.length; i++) {
        newArr[i] = arr[i];
    }

    newArr[newArr.length - 1] = element;

    return newArr;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  }
&lt;/h2&gt;
&lt;h2&gt;
  
  
  Q13) Insert Element at Middle Position
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
java

class InsertAtMiddle {

    public static int[] insertMiddle(int[] arr, int element) {

        int[] newArr = new int[arr.length + 1];
        int middle = arr.length / 2;

        for(int i = 0; i &amp;lt; middle; i++) {
            newArr[i] = arr[i];
        }

        newArr[middle] = element;

        for(int i = middle; i &amp;lt; arr.length; i++) {
            newArr[i + 1] = arr[i];
        }

        return newArr;
    }
}
Q14) Merge Two Arrays
import java.util.Arrays;

class Merge {

    public static int[] mergeArrays(int[] x, int[] y) {

        int[] newArr = new int[x.length + y.length];
        int position = 0;

        for(int element : x) {
            newArr[position++] = element;
        }

        for(int element : y) {
            newArr[position++] = element;
        }

        return newArr;
    }
}


--------------------------------------------------------
                🔥 FINAL SUMMARY 🔥
========================================================

✔ Max → Compare and update
✔ Modify → Arrays are reference type
✔ Sort → Nested loop
✔ Search → Linear scan
✔ Duplicate → Compare pairs
✔ Insert → Create new array
✔ Merge → Create bigger array
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>ai</category>
      <category>beginners</category>
      <category>productivity</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>JAVA ARRAY NOTES_day-1</title>
      <dc:creator>Aman Verma</dc:creator>
      <pubDate>Wed, 25 Feb 2026 02:46:33 +0000</pubDate>
      <link>https://dev.to/aman04/java-array-notesday-1-475m</link>
      <guid>https://dev.to/aman04/java-array-notesday-1-475m</guid>
      <description>&lt;p&gt;==================================================&lt;/p&gt;

&lt;h1&gt;
  
  
                  🔷 JAVA ARRAY NOTES 🔷
&lt;/h1&gt;

&lt;p&gt;1) WHY ARRAY?&lt;/p&gt;

&lt;p&gt;Before Array:&lt;br&gt;
int a = 10;&lt;br&gt;
int b = 20;&lt;br&gt;
int c = 30;&lt;/p&gt;

&lt;p&gt;Problem:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Too many variables&lt;/li&gt;
&lt;li&gt;No sequential memory&lt;/li&gt;
&lt;li&gt;Difficult to manage&lt;/li&gt;
&lt;li&gt;Hard to use loops&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Solution → ARRAY&lt;/p&gt;




&lt;h2&gt;
  
  
  2) WHAT IS AAN RRAY?
&lt;/h2&gt;

&lt;p&gt;An array is a data structure that stores&lt;br&gt;
multiple values of the same data type&lt;br&gt;
in contiguous (sequential) memory location.&lt;/p&gt;

&lt;p&gt;Syntax:&lt;/p&gt;

&lt;p&gt;datatype[] arrayName;&lt;/p&gt;

&lt;p&gt;Example:&lt;br&gt;
int[] arr;&lt;/p&gt;

&lt;p&gt;Memory Allocation:&lt;br&gt;
arr = new int[5];&lt;/p&gt;

&lt;p&gt;OR&lt;/p&gt;

&lt;p&gt;int[] arr = new int[5];&lt;/p&gt;




&lt;h2&gt;
  
  
  3) MEMORY REPRESENTATION
&lt;/h2&gt;

&lt;p&gt;int[] arr = {10,20,30,40};&lt;/p&gt;

&lt;p&gt;Index   Value&lt;/p&gt;




&lt;p&gt;0      10&lt;br&gt;
  1      20&lt;br&gt;
  2      30&lt;br&gt;
  3      40&lt;/p&gt;

&lt;p&gt;✔ Index starts from 0&lt;br&gt;
✔ Last index = length - 1&lt;br&gt;
✔ Stored in Heap memory&lt;br&gt;
✔ Continuous memory allocation&lt;/p&gt;




&lt;h2&gt;
  
  
  4) CHARACTERISTICS OF ARRAY
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Homogeneous&lt;br&gt;
-&amp;gt; Same data type only.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fixed Size&lt;br&gt;
-&amp;gt; Size cannot be changed after creation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Indexed-Based&lt;br&gt;
-&amp;gt; arr[0], arr[1], arr[2] ...&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Contiguous Memory&lt;br&gt;
-&amp;gt; Elements stored next to each other.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Default Values&lt;br&gt;
int      -&amp;gt; 0&lt;br&gt;
double   -&amp;gt; 0.0&lt;br&gt;
boolean  -&amp;gt; false&lt;br&gt;
object   -&amp;gt; null&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fast Access&lt;br&gt;
-&amp;gt; O(1) time complexity.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Length Property&lt;br&gt;
-&amp;gt; arr. length   (variable, not method)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  5) TYPES OF ARRAYS
&lt;/h2&gt;

&lt;p&gt;1)Single-Dimensionall Array&lt;br&gt;
2) Multi-Dimensional Array&lt;/p&gt;




&lt;h2&gt;
  
  
  6) WAYS TO CREATE AN ARRAY
&lt;/h2&gt;

&lt;p&gt;Method 1:&lt;br&gt;
int[] arr = new int[5];&lt;/p&gt;

&lt;p&gt;Method 2:&lt;br&gt;
int[] arr = {10,20,30,40};&lt;/p&gt;

&lt;p&gt;Method 3 (Anonymous Array):&lt;br&gt;
int[] arr = new int[]{100,200,300};&lt;/p&gt;




&lt;h2&gt;
  
  
  7) PROGRAMS
&lt;/h2&gt;

&lt;p&gt;1) SUM OF ARRAY&lt;/p&gt;

&lt;p&gt;public class SumArray {&lt;br&gt;
    public static void main(String[] args) {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    int[] arr = {10,20,30,40};
    int sum = 0;

    for(int num : arr){
        sum = sum + num;
    }

    System.out.println("Sum = " + sum);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;




&lt;h2&gt;
  
  
  2) REVERSE ARRAY
&lt;/h2&gt;

&lt;p&gt;public class ReverseArray {&lt;br&gt;
    public static void main(String[] args) {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    int[] arr = {10,20,30,40};

    for(int i = arr.length - 1; i &amp;gt;= 0; i--){
        System.out.print(arr[i] + " ");
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;




&lt;h2&gt;
  
  
  3) MINIMUM ELEMENT
&lt;/h2&gt;

&lt;p&gt;public class MinArray {&lt;br&gt;
    public static void main(String[] args) {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    int[] arr = {12,5,78,3,9};
    int min = arr[0];

    for(int num : arr){
        if(num &amp;lt; min){
            min = num;
        }
    }

    System.out.println("Minimum = " + min);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;




&lt;h2&gt;
  
  
  8) DRAWBACKS OF ARRAY
&lt;/h2&gt;

&lt;p&gt;1) Fixed Size&lt;br&gt;
2) Insertion is costly&lt;br&gt;
3) Deletion is costly&lt;br&gt;
4) No built-in methods&lt;br&gt;
5) Only the same type of elements&lt;/p&gt;




&lt;h2&gt;
  
  
  9) IMPORTANT EXAM POINTS
&lt;/h2&gt;

&lt;p&gt;✔ Array is an object in Java.&lt;br&gt;
✔ Stored in Heap memory.&lt;br&gt;
✔ Size is fixed.&lt;br&gt;
✔ Index starts from 0.&lt;br&gt;
✔ Access time is O(1).&lt;br&gt;
✔ Out of range → ArrayIndexOutOfBoundsException.&lt;/p&gt;

&lt;p&gt;==================================================&lt;/p&gt;

&lt;h1&gt;
  
  
                  🔥 FINAL SUMMARY 🔥
&lt;/h1&gt;

&lt;p&gt;ARRAY =&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Same type elements&lt;/li&gt;
&lt;li&gt;Continuous memory&lt;/li&gt;
&lt;li&gt;Fixed size&lt;/li&gt;
&lt;li&gt;Index-based&lt;/li&gt;
&lt;li&gt;Fast access&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;==================================================&lt;/p&gt;

&lt;p&gt;If you want next:&lt;br&gt;
1) 2D Array Notes (console style)&lt;br&gt;
2) 20 Array Practice Programs&lt;br&gt;
3) Array Interview Questions&lt;br&gt;
4) Internal Working Diagram Explanation&lt;/p&gt;

</description>
      <category>java</category>
      <category>openai</category>
      <category>programming</category>
      <category>ai</category>
    </item>
    <item>
      <title>Advanced java concept</title>
      <dc:creator>Aman Verma</dc:creator>
      <pubDate>Sat, 21 Feb 2026 03:19:42 +0000</pubDate>
      <link>https://dev.to/aman04/advanced-java-concept-28hc</link>
      <guid>https://dev.to/aman04/advanced-java-concept-28hc</guid>
      <description>&lt;p&gt;====================================================&lt;/p&gt;

&lt;h1&gt;
  
  
              JDBC – SERVLET – JSP NOTES
&lt;/h1&gt;

&lt;h2&gt;
  
  
  🔷 1. JDBC – ResultSet Interface
&lt;/h2&gt;

&lt;p&gt;• ResultSet is an interface from java.sql package.&lt;br&gt;
• Represents data returned by SQL SELECT query.&lt;br&gt;
• Used for:&lt;br&gt;
    - Retrieving data&lt;br&gt;
    - Navigating rows&lt;br&gt;
    - Manipulating data&lt;/p&gt;

&lt;p&gt;🔹 Creating ResultSet&lt;/p&gt;

&lt;h2&gt;
  
  
  Using Statement:
&lt;/h2&gt;

&lt;p&gt;Statement stm = con.createStatement();&lt;br&gt;
ResultSet rs = stm.executeQuery("SELECT * FROM emp");&lt;/p&gt;

&lt;h2&gt;
  
  
  Using PreparedStatement:
&lt;/h2&gt;

&lt;p&gt;PreparedStatement ps = con.prepareStatement("SELECT * FROM emp");&lt;br&gt;
ResultSet rs = ps.executeQuery();&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 2. Types of ResultSet
&lt;/h2&gt;

&lt;p&gt;1) TYPE_FORWARD_ONLY  (Default)&lt;br&gt;
   • Move only forward&lt;br&gt;
   • Cannot move backward&lt;br&gt;
   • Cannot jump to specific row&lt;/p&gt;

&lt;p&gt;2) TYPE_SCROLL_INSENSITIVE&lt;br&gt;
   • Move forward &amp;amp; backward&lt;br&gt;
   • Jump to any row&lt;br&gt;
   • Does NOT reflect DB changes&lt;/p&gt;

&lt;p&gt;3) TYPE_SCROLL_SENSITIVE&lt;br&gt;
   • Move forward &amp;amp; backward&lt;br&gt;
   • Reflects DB changes&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 3. Concurrency Mode
&lt;/h2&gt;

&lt;p&gt;ResultSet.CONCUR_READ_ONLY&lt;br&gt;
   • Cannot update data&lt;/p&gt;

&lt;p&gt;ResultSet.CONCUR_UPDATABLE&lt;br&gt;
   • Can update data&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 4. Important ResultSet Methods
&lt;/h2&gt;

&lt;p&gt;next()           → Move to next row&lt;br&gt;
previous()       → Move to previous row&lt;br&gt;
first()          → Move to first row&lt;br&gt;
last()           → Move to last row&lt;br&gt;
beforeFirst()    → Before first row&lt;br&gt;
afterLast()      → After last row&lt;br&gt;
absolute(int)    → Move to specific row&lt;br&gt;
relative(int)    → Move relative position&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 5. RowSet
&lt;/h2&gt;

&lt;p&gt;• Child interface of ResultSet&lt;br&gt;
• Supports Connected &amp;amp; Disconnected mode&lt;/p&gt;

&lt;h2&gt;
  
  
  Types:
&lt;/h2&gt;

&lt;p&gt;JdbcRowSet&lt;br&gt;
CachedRowSet&lt;br&gt;
WebRowSet&lt;br&gt;
FilteredRowSet&lt;br&gt;
JoinRowSet&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 6. RowSetFactory
&lt;/h2&gt;

&lt;p&gt;RowSetFactory rsf = RowSetProvider.newFactory();&lt;br&gt;
CachedRowSet crs = rsf.createCachedRowSet();&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 7. CallableStatement (Stored Procedure)
&lt;/h2&gt;

&lt;p&gt;• Used to execute:&lt;br&gt;
    - Stored Procedures&lt;br&gt;
    - Functions&lt;/p&gt;

&lt;p&gt;CallableStatement cs =&lt;br&gt;
con.prepareCall("{call proc_name(?)}");&lt;/p&gt;

&lt;h2&gt;
  
  
  Register OUT Parameter:
&lt;/h2&gt;

&lt;p&gt;cs.registerOutParameter(1, Types.INTEGER);&lt;/p&gt;

&lt;h2&gt;
  
  
  Procedure vs Function
&lt;/h2&gt;

&lt;p&gt;Procedure:&lt;br&gt;
   • No return value&lt;br&gt;
   • IN, OUT, INOUT&lt;br&gt;
   • Used for operations&lt;/p&gt;

&lt;p&gt;Function:&lt;br&gt;
   • Returns value&lt;br&gt;
   • Only IN&lt;br&gt;
   • Used for calculations&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 8. Transaction Management
&lt;/h2&gt;

&lt;p&gt;Transaction = Group of operations executed together&lt;/p&gt;

&lt;h2&gt;
  
  
  Steps:
&lt;/h2&gt;

&lt;p&gt;1) Disable AutoCommit&lt;br&gt;
   con.setAutoCommit(false);&lt;/p&gt;

&lt;p&gt;2) Execute Queries&lt;/p&gt;

&lt;p&gt;3) Commit OR Rollback&lt;br&gt;
   con.commit();&lt;br&gt;
   con.rollback();&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 ACID Properties
&lt;/h2&gt;

&lt;p&gt;Atomicity    → All or nothing&lt;br&gt;
Consistency  → DB remains valid&lt;br&gt;
Isolation    → Transactions isolated&lt;br&gt;
Durability   → Changes permanent&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 9. Savepoint
&lt;/h2&gt;

&lt;p&gt;Savepoint sp = con.setSavepoint();&lt;br&gt;
con.rollback(sp);&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 10. Connection Pooling
&lt;/h2&gt;

&lt;p&gt;• Improves performance&lt;br&gt;
• Reuses DB connections&lt;br&gt;
• Avoids repeated creation/destruction&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 11. JDBC Metadata
&lt;/h2&gt;

&lt;h2&gt;
  
  
  1) DatabaseMetaData
&lt;/h2&gt;

&lt;p&gt;DatabaseMetaData dbmd = con.getMetaData();&lt;br&gt;
dbmd.getDatabaseProductName();&lt;br&gt;
dbmd.getDriverName();&lt;/p&gt;

&lt;h2&gt;
  
  
  2) ParameterMetaData
&lt;/h2&gt;

&lt;p&gt;ParameterMetaData pmd = ps.getParameterMetaData();&lt;br&gt;
pmd.getParameterCount();&lt;/p&gt;

&lt;h2&gt;
  
  
  3) ResultSetMetaData
&lt;/h2&gt;

&lt;p&gt;ResultSetMetaData rsmd = rs.getMetaData();&lt;br&gt;
rsmd.getColumnCount();&lt;br&gt;
rsmd.getColumnName(1);&lt;/p&gt;

&lt;p&gt;====================================================&lt;/p&gt;

&lt;h1&gt;
  
  
                      SERVLET
&lt;/h1&gt;

&lt;h2&gt;
  
  
  🔷 12. What is Servlet?
&lt;/h2&gt;

&lt;p&gt;• Java program running on server&lt;br&gt;
• Handles HTTP requests&lt;br&gt;
• Generates dynamic response&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 Servlet Life Cycle
&lt;/h2&gt;

&lt;p&gt;1) init()&lt;br&gt;
2) service()&lt;br&gt;
3) destroy()&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 Servlet Interface Methods
&lt;/h2&gt;

&lt;p&gt;public void init()&lt;br&gt;
public void service()&lt;br&gt;
public void destroy()&lt;br&gt;
public ServletConfig getServletConfig()&lt;br&gt;
public String getServletInfo()&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 13. Creating Servlet (3 Ways)
&lt;/h2&gt;

&lt;p&gt;1) Implement Servlet&lt;br&gt;
2) Extend GenericServlet&lt;br&gt;
3) Extend HttpServlet  (Most Used)&lt;/p&gt;

&lt;h2&gt;
  
  
  HttpServlet Methods:
&lt;/h2&gt;

&lt;p&gt;doGet()&lt;br&gt;
doPost()&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 14. RequestDispatcher
&lt;/h2&gt;

&lt;p&gt;Used for:&lt;br&gt;
   • forward()&lt;br&gt;
   • include()&lt;/p&gt;

&lt;p&gt;RequestDispatcher rd =&lt;br&gt;
request.getRequestDispatcher("page.jsp");&lt;/p&gt;

&lt;p&gt;rd.forward(request, response);&lt;/p&gt;

&lt;p&gt;====================================================&lt;/p&gt;

&lt;h1&gt;
  
  
                          JSP
&lt;/h1&gt;

&lt;h2&gt;
  
  
  🔷 15. JSP Scripting Tags
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Scriptlet:
&lt;/h2&gt;

&lt;p&gt;&amp;lt;% code %&amp;gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Expression:
&lt;/h2&gt;

&lt;p&gt;&amp;lt;%= value %&amp;gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Declaration:
&lt;/h2&gt;

&lt;p&gt;&amp;lt;%! int x = 10; %&amp;gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 Directive Tags
&lt;/h2&gt;

&lt;p&gt;Page:&lt;br&gt;
&amp;lt;%@ page contentType="text/html" %&amp;gt;&lt;/p&gt;

&lt;p&gt;Include:&lt;br&gt;
&amp;lt;%@ include file="header.jsp" %&amp;gt;&lt;/p&gt;

&lt;p&gt;Taglib:&lt;br&gt;
&amp;lt;%@ taglib ... %&amp;gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 Action Tag
&lt;/h2&gt;



&lt;p&gt;====================================================&lt;/p&gt;

&lt;h1&gt;
  
  
                   MVC ARCHITECTURE
&lt;/h1&gt;

&lt;h2&gt;
  
  
  🔷 16. MVC Components
&lt;/h2&gt;

&lt;p&gt;Model:&lt;br&gt;
   • JavaBeans&lt;br&gt;
   • DAO&lt;br&gt;
   • Database&lt;/p&gt;

&lt;p&gt;View:&lt;br&gt;
   • JSP&lt;br&gt;
   • HTML&lt;/p&gt;

&lt;p&gt;Controller:&lt;br&gt;
   • Servlet&lt;/p&gt;

&lt;h2&gt;
  
  
  Flow:
&lt;/h2&gt;

&lt;p&gt;HTML → Servlet → Bean → DAO → Database&lt;br&gt;
Servlet → JSP (Display Result)&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 17. JavaBeans Rules
&lt;/h2&gt;

&lt;p&gt;• Must implement Serializable&lt;br&gt;
• Private variables&lt;br&gt;
• Public getter &amp;amp; setter&lt;br&gt;
• Public default constructor&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 18. Attributes in Servlet
&lt;/h2&gt;

&lt;p&gt;request.setAttribute("name", value);&lt;br&gt;
request.getAttribute("name");&lt;br&gt;
request.removeAttribute("name");&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 19. GET vs POST
&lt;/h2&gt;

&lt;p&gt;GET:&lt;br&gt;
   • Data in URL&lt;br&gt;
   • Less secure&lt;br&gt;
   • Limited size&lt;br&gt;
   • Used for retrieval&lt;/p&gt;

&lt;p&gt;POST:&lt;br&gt;
   • Data in body&lt;br&gt;
   • More secure&lt;br&gt;
   • Large data allowed&lt;br&gt;
   • Used for submission&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 20. Session Tracking
&lt;/h2&gt;

&lt;p&gt;Methods:&lt;br&gt;
   • Cookies&lt;br&gt;
   • HttpSession&lt;br&gt;
   • URL Rewriting&lt;br&gt;
   • Hidden Fields&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 21. Cookie Class
&lt;/h2&gt;

&lt;p&gt;Cookie c = new Cookie("name","value");&lt;br&gt;
c.setMaxAge(60);&lt;br&gt;
response.addCookie(c);&lt;/p&gt;

&lt;p&gt;Important Methods:&lt;br&gt;
   getName()&lt;br&gt;
   getValue()&lt;br&gt;
   setValue()&lt;br&gt;
   setMaxAge()&lt;br&gt;
   getMaxAge()&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 22. HttpSession
&lt;/h2&gt;

&lt;p&gt;HttpSession session = request.getSession();&lt;br&gt;
session.setAttribute("user", value);&lt;br&gt;
session.getAttribute("user");&lt;br&gt;
session.invalidate();&lt;/p&gt;

&lt;h2&gt;
  
  
  🔷 23. Web Server vs Application Server
&lt;/h2&gt;

&lt;p&gt;Web Server:&lt;br&gt;
   • Handles HTTP&lt;br&gt;
   • Example: Tomcat&lt;/p&gt;

&lt;p&gt;Application Server:&lt;br&gt;
   • Handles Web + Enterprise&lt;br&gt;
   • Example: WebLogic&lt;/p&gt;

&lt;p&gt;====================================================&lt;/p&gt;

&lt;h1&gt;
  
  
  🔥 FINAL REVISION SUMMARY
&lt;/h1&gt;

&lt;p&gt;✔ JDBC&lt;br&gt;
✔ ResultSet&lt;br&gt;
✔ RowSet&lt;br&gt;
✔ CallableStatement&lt;br&gt;
✔ Transactions&lt;br&gt;
✔ ACID&lt;br&gt;
✔ Metadata&lt;br&gt;
✔ Servlet&lt;br&gt;
✔ JSP&lt;br&gt;
✔ MVC&lt;br&gt;
✔ JavaBeans&lt;br&gt;
✔ Session&lt;br&gt;
✔ Cookies&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>java</category>
      <category>programming</category>
      <category>coding</category>
    </item>
    <item>
      <title>📖 THE STORY OF JAVA COLLECTIONS</title>
      <dc:creator>Aman Verma</dc:creator>
      <pubDate>Tue, 27 Jan 2026 11:46:56 +0000</pubDate>
      <link>https://dev.to/aman04/the-story-of-java-collections-1m1c</link>
      <guid>https://dev.to/aman04/the-story-of-java-collections-1m1c</guid>
      <description>&lt;h2&gt;
  
  
  Before JDK 1.2
&lt;/h2&gt;

&lt;p&gt;Java developers mainly used:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Arrays (fixed size, rigid)&lt;/li&gt;
&lt;li&gt;Legacy classes like Vector and Hashtable&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;No standard structure&lt;/li&gt;
&lt;li&gt;Inconsistent design&lt;/li&gt;
&lt;li&gt;Hard to maintain and extend&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  JDK 1.2 — COLLECTIONS FRAMEWORK
&lt;/h2&gt;

&lt;p&gt;Java introduced the Collections Framework to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Standardize data storage&lt;/li&gt;
&lt;li&gt;Provide reusable data structures&lt;/li&gt;
&lt;li&gt;Improve consistency and flexibility&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;====================================================&lt;/p&gt;

&lt;h1&gt;
  
  
          🌱 ITERABLE (ROOT FOR TRAVERSAL)
&lt;/h1&gt;

&lt;p&gt;Introduced: JDK 1.5&lt;br&gt;
Package java.lang&lt;/p&gt;

&lt;p&gt;Purpose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allows objects to be traversed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;for-each loop&lt;/li&gt;
&lt;li&gt;Iterator&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Note:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Iterable does NOT store data&lt;/li&gt;
&lt;li&gt;It only allows traversal&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;====================================================&lt;/p&gt;

&lt;h1&gt;
  
  
          🧠 COLLECTION INTERFACE
&lt;/h1&gt;

&lt;p&gt;Introduced: JDK 1.2&lt;br&gt;
Package: java.util&lt;/p&gt;

&lt;p&gt;Role:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Root interface of the Collections Framework&lt;/li&gt;
&lt;li&gt;Defines basic behavior for all collections&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Common Methods:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;add()&lt;/li&gt;
&lt;li&gt;remove()&lt;/li&gt;
&lt;li&gt;contains()&lt;/li&gt;
&lt;li&gt;size()&lt;/li&gt;
&lt;li&gt;isEmpty()&lt;/li&gt;
&lt;li&gt;clear()&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Concept:&lt;br&gt;
"If you store objects, you must support these operations."&lt;/p&gt;

&lt;p&gt;====================================================&lt;/p&gt;

&lt;h1&gt;
  
  
          🌳 THREE CHILDREN OF COLLECTION
&lt;/h1&gt;




&lt;h2&gt;
  
  
  📋 LIST  → ORDERED COLLECTION
&lt;/h2&gt;

&lt;p&gt;Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allows duplicate elements&lt;/li&gt;
&lt;li&gt;Maintains insertion order&lt;/li&gt;
&lt;li&gt;Index-based storage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Implementations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ArrayList    → Fast access&lt;/li&gt;
&lt;li&gt;LinkedList   → Fast insert/delete&lt;/li&gt;
&lt;li&gt;Vector       → Legacy (synchronized)&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;When order matters&lt;/li&gt;
&lt;li&gt;When duplicates are allowed&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔒 SET  → UNIQUE COLLECTION
&lt;/h2&gt;

&lt;p&gt;Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does NOT allow duplicates&lt;/li&gt;
&lt;li&gt;No index-based access&lt;/li&gt;
&lt;li&gt;Useshashing/sorting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Implementations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HashSet        → Fast, unordered&lt;/li&gt;
&lt;li&gt;LinkedHashSet  → Insertion order&lt;/li&gt;
&lt;li&gt;TreeSet        → Sorted order&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;When uniqueness is required&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📥 QUEUE  → FIFO COLLECTION
&lt;/h2&gt;

&lt;p&gt;Introduced: JDK 1.5&lt;/p&gt;

&lt;p&gt;Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Follows FIFO (First In First Out)&lt;/li&gt;
&lt;li&gt;Used in scheduling and processing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Implementation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PriorityQueue → Priority-based order&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;When processing order matters&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;====================================================&lt;/p&gt;

&lt;h1&gt;
  
  
          🧰 COLLECTIONS CLASS (UTILITY)
&lt;/h1&gt;

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

&lt;p&gt;Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Utility class&lt;/li&gt;
&lt;li&gt;Contains only static methods&lt;/li&gt;
&lt;li&gt;Private constructor (cannot be instantiated)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Provides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sorting&lt;/li&gt;
&lt;li&gt;Searching&lt;/li&gt;
&lt;li&gt;Reversing&lt;/li&gt;
&lt;li&gt;Synchronizing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Concept:&lt;br&gt;
"Toolbox for working with collections"&lt;/p&gt;

&lt;p&gt;====================================================&lt;/p&gt;

&lt;h1&gt;
  
  
          🔄 ITERATION MECHANISMS
&lt;/h1&gt;




&lt;h2&gt;
  
  
  🔄 ITERATOR
&lt;/h2&gt;

&lt;p&gt;Introduced: J DK 1.2&lt;/p&gt;

&lt;p&gt;Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Forward direction only&lt;/li&gt;
&lt;li&gt;Works with all collections&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Methods:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;hasNext()&lt;/li&gt;
&lt;li&gt;next()&lt;/li&gt;
&lt;li&gt;remove()&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Simple forward traversal&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔁 LISTITERATOR
&lt;/h2&gt;

&lt;p&gt;Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Forward and backward traversal&lt;/li&gt;
&lt;li&gt;Index-based navigation&lt;/li&gt;
&lt;li&gt;Works only with List&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Full control over List traversal&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;====================================================&lt;/p&gt;

&lt;h1&gt;
  
  
          ⭐ FINAL INTERVIEW SUMMARY
&lt;/h1&gt;

&lt;p&gt;Collection    → Stores single objects&lt;br&gt;
Map           → Stores key–value pairs&lt;br&gt;
List          → Duplicates + Index&lt;br&gt;
Set           → No duplicates&lt;br&gt;
Queue         → FIFO&lt;br&gt;
Iterator      → Forward only&lt;br&gt;
ListIterator  → Forward &amp;amp; Backward&lt;br&gt;
Vector,&lt;br&gt;
Hashtable     → Legacy&lt;/p&gt;

</description>
      <category>java</category>
      <category>opensource</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>EVENT-DRIVEN ARCHITECTURE (EDA)</title>
      <dc:creator>Aman Verma</dc:creator>
      <pubDate>Tue, 27 Jan 2026 02:24:38 +0000</pubDate>
      <link>https://dev.to/aman04/event-driven-architecture-eda-1d98</link>
      <guid>https://dev.to/aman04/event-driven-architecture-eda-1d98</guid>
      <description>&lt;p&gt;▶ What is EDA?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A software architecture where systems communicate using events.&lt;/li&gt;
&lt;li&gt;An event signals that something important happened
(e.g., order placed, ride requested, video paused).&lt;/li&gt;
&lt;li&gt;Services react to events instead of calling each other directly.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Why EDA is Needed&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Traditional request–response causes tight coupling.&lt;/li&gt;
&lt;li&gt;As services grow, connections become complex and hard to scale.&lt;/li&gt;
&lt;li&gt;Updating one service can break many others.&lt;/li&gt;
&lt;li&gt;EDA decouples services, improving scalability and flexibility.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Core Idea&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Producers create events.&lt;/li&gt;
&lt;li&gt;Consumers react to events.&lt;/li&gt;
&lt;li&gt;Communication happens asynchronously via a messaging system.&lt;/li&gt;
&lt;li&gt;Producers and consumers do NOT know about each other.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Key Components&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Event Producer: generates events.&lt;/li&gt;
&lt;li&gt;Event Consumer: processes events.&lt;/li&gt;
&lt;li&gt;Event Broker: routes events (queue/stream).&lt;/li&gt;
&lt;li&gt;Event Contract: defines event structure and data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Real-World Examples&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Streaming platforms track user actions as events
(play, pause, rate) for recommendations and analytics.&lt;/li&gt;
&lt;li&gt;Ride-sharing apps use events for matching drivers,
pricing, ETA calculation, and traffic updates.&lt;/li&gt;
&lt;li&gt;Multiple services consume the same event independently.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ EDA vs Service Mesh&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;EDA: asynchronous, event-based communication.&lt;/li&gt;
&lt;li&gt;Service Mesh: synchronous service-to-service communication.&lt;/li&gt;
&lt;li&gt;Both patterns often work together in microservices systems.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Event Processing Types&lt;br&gt;
1) Simple Event Processing&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One event → one direct action.&lt;/li&gt;
&lt;li&gt;Example: Order placed → update inventory.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2) Complex Event Processing&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multiple events analyzed together.&lt;/li&gt;
&lt;li&gt;Example: Demand + traffic + drivers → surge pricing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Benefits of EDA&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;High scalability.&lt;/li&gt;
&lt;li&gt;Independent service scaling.&lt;/li&gt;
&lt;li&gt;Better fault tolerance.&lt;/li&gt;
&lt;li&gt;Efficient real-time data processing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Challenges of EDA&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Event ordering can be difficult.&lt;/li&gt;
&lt;li&gt;Risk of duplicate event processing.&lt;/li&gt;
&lt;li&gt;Eventual consistency instead of immediate consistency.&lt;/li&gt;
&lt;li&gt;Requires careful design and monitoring.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Common Tools&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Distributed streaming platforms for high-scale events.&lt;/li&gt;
&lt;li&gt;Cloud-based messaging services.&lt;/li&gt;
&lt;li&gt;Lightweight brokers for smaller systems.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Final Takeaway&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;EDA is not just a trend.&lt;/li&gt;
&lt;li&gt;It powers modern systems that process billions of events daily.&lt;/li&gt;
&lt;li&gt;Essential for scalable, real-time, microservices architectures.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>eventdriven</category>
      <category>development</category>
      <category>architecture</category>
    </item>
    <item>
      <title>JAVA REALITY !!</title>
      <dc:creator>Aman Verma</dc:creator>
      <pubDate>Tue, 27 Jan 2026 02:15:25 +0000</pubDate>
      <link>https://dev.to/aman04/java-reality--40nf</link>
      <guid>https://dev.to/aman04/java-reality--40nf</guid>
      <description>&lt;p&gt;▶ What Java Is ?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A verbose, boilerplate-heavy, object-oriented language.&lt;/li&gt;
&lt;li&gt;Created during the dot-com bubble by Sun Microsystems.&lt;/li&gt;
&lt;li&gt;Originally meant for TV remotes, released publicly in 1996.&lt;/li&gt;
&lt;li&gt;Runs on billions of devices for decades.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Java Philosophy&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Motto: "Write once, run everywhere"&lt;/li&gt;
&lt;li&gt;Reality: "Write once, debug everywhere"&lt;/li&gt;
&lt;li&gt;Known for long logs, heavy configuration, and legacy systems.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Ecosystem &amp;amp; Influence&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inspired JVM languages: Groovy, Clojure, Scala, Kotlin.&lt;/li&gt;
&lt;li&gt;Also indirectly inspired JavaScript.&lt;/li&gt;
&lt;li&gt;Failed attempt at the web: Java Applets (thankfully dead).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Enterprise Reality&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Often paired with Oracle Database.&lt;/li&gt;
&lt;li&gt;Companies spend years talking about migrating away.&lt;/li&gt;
&lt;li&gt;Expensive licenses, long-term enterprise lock-in.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Getting Started Pain&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install JDK, JRE, JVM.&lt;/li&gt;
&lt;li&gt;Prepare for massive error logs.&lt;/li&gt;
&lt;li&gt;Memorize: public static void main(String[] args)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Java Coding Style&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Forced Object-Oriented Programming.&lt;/li&gt;
&lt;li&gt;Requires classes even for Hello World.&lt;/li&gt;
&lt;li&gt;Much more boilerplate than languages like Python.&lt;/li&gt;
&lt;li&gt;Encourages deep inheritance and complex class hierarchies.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Typical Java Project Lifecycle&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Write one giant class.&lt;/li&gt;
&lt;li&gt;Boss complains.&lt;/li&gt;
&lt;li&gt;Split into deeply nested subclasses.&lt;/li&gt;
&lt;li&gt;Code becomes impossible to refactor.&lt;/li&gt;
&lt;li&gt;Developer questions life choices.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;▶ Final Truth&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Java is widely hated yet widely used.&lt;/li&gt;
&lt;li&gt;Two types of languages:
1) Those people complain about
2) Those nobody uses&lt;/li&gt;
&lt;li&gt;Love it or hate it, Java gets real work done.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>programming</category>
      <category>java</category>
      <category>inclusion</category>
      <category>career</category>
    </item>
    <item>
      <title>COMPUTER SCIENCE 101 – SUMMARY</title>
      <dc:creator>Aman Verma</dc:creator>
      <pubDate>Tue, 27 Jan 2026 02:09:36 +0000</pubDate>
      <link>https://dev.to/aman04/computer-science-101-summary-1kek</link>
      <guid>https://dev.to/aman04/computer-science-101-summary-1kek</guid>
      <description>&lt;p&gt;▶ Coding Reality&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Most developers debug by re-running code without understanding it.&lt;/li&gt;
&lt;li&gt;You can earn well in software while treating computers like magic.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ What a Computer Is&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A computer is essentially a Turing Machine.&lt;/li&gt;
&lt;li&gt;Built from billions of transistors acting as ON/OFF switches.&lt;/li&gt;
&lt;li&gt;Smallest unit: Bit (0 or 1)&lt;/li&gt;
&lt;li&gt;8 bits = 1 Byte (256 values)&lt;/li&gt;
&lt;li&gt;Characters mapped using ASCII / UTF-8.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Binary &amp;amp; Machine Code&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Computers use binary (base-2).&lt;/li&gt;
&lt;li&gt;Humans prefer hexadecimal (base-16).&lt;/li&gt;
&lt;li&gt;Code is converted into machine code for the CPU.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Memory &amp;amp; Hardware&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RAM stores data using memory addresses.&lt;/li&gt;
&lt;li&gt;CPU + RAM = the brain of the computer.&lt;/li&gt;
&lt;li&gt;Input devices (keyboard, mouse), Output devices (monitor).&lt;/li&gt;
&lt;li&gt;OS (Linux, Windows, macOS) manages hardware via drivers.&lt;/li&gt;
&lt;li&gt;Shell = interface to interact with OS (CLI, SSH).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Programming Languages&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Interpreted: Python (line-by-line execution).&lt;/li&gt;
&lt;li&gt;Compiled: C/C++ (compiled to executable).&lt;/li&gt;
&lt;li&gt;Abstraction hides hardware complexity.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Variables &amp;amp; Memory&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Variable names and data are stored in memory.&lt;/li&gt;
&lt;li&gt;Dynamic typing (Python) vs Static typing (C).&lt;/li&gt;
&lt;li&gt;Pointers store memory addresses.&lt;/li&gt;
&lt;li&gt;The garbage collector manages memory automatically.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Data Types&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;int, float, double for numbers.&lt;/li&gt;
&lt;li&gt;char, string for text.&lt;/li&gt;
&lt;li&gt;Big-endian vs Little-endian memory storage.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Data Structures&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Array/List: indexed, ordered.&lt;/li&gt;
&lt;li&gt;Linked List: nodes with pointers.&lt;/li&gt;
&lt;li&gt;Stack: LIFO&lt;/li&gt;
&lt;li&gt;Queue: FIFO&lt;/li&gt;
&lt;li&gt;Hash Map / Dictionary: key–value pairs.&lt;/li&gt;
&lt;li&gt;Tree: hierarchical structure.&lt;/li&gt;
&lt;li&gt;Graph: nodes + edges (relationships).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Algorithms&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Algorithms solve problems using data structures.&lt;/li&gt;
&lt;li&gt;Functions take input → process → return output.&lt;/li&gt;
&lt;li&gt;Expressions produce values; Statements perform actions.&lt;/li&gt;
&lt;li&gt;Conditionals (if/else), Loops (for/while).&lt;/li&gt;
&lt;li&gt;Recursion uses a call stack → risk of stack overflow.&lt;/li&gt;
&lt;li&gt;Base condition prevents infinite recursion.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Performance Analysis&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Big-O notation measures efficiency.&lt;/li&gt;
&lt;li&gt;Time complexity &amp;amp; Space complexity.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Algorithm Types&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Brute Force&lt;/li&gt;
&lt;li&gt;Divide &amp;amp; Conquer (Binary Search)&lt;/li&gt;
&lt;li&gt;Dynamic Programming (Memoization)&lt;/li&gt;
&lt;li&gt;Greedy Algorithms (e.g., Dijkstra)&lt;/li&gt;
&lt;li&gt;Backtracking (exploring all paths)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Programming Paradigms&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Declarative (what to do)&lt;/li&gt;
&lt;li&gt;Imperative (how to do)&lt;/li&gt;
&lt;li&gt;Functional, Procedural&lt;/li&gt;
&lt;li&gt;Object-Oriented Programming (Classes &amp;amp; Objects)&lt;/li&gt;
&lt;li&gt;Inheritance &amp;amp; Design Patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Memory Areas&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stack: short-lived function calls.&lt;/li&gt;
&lt;li&gt;Heap: long-lived objects, passed by reference.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Concurrency &amp;amp; Parallelism&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Threads enable parallel execution.&lt;/li&gt;
&lt;li&gt;Concurrency via event loops &amp;amp; coroutines.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Networking &amp;amp; Cloud&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Virtual Machines simulate hardware.&lt;/li&gt;
&lt;li&gt;IP addresses identify machines.&lt;/li&gt;
&lt;li&gt;DNS maps URLs to IPs.&lt;/li&gt;
&lt;li&gt;TCP handshake establishes a connection.&lt;/li&gt;
&lt;li&gt;SSL encrypts data.&lt;/li&gt;
&lt;li&gt;HTTP transfers web data.&lt;/li&gt;
&lt;li&gt;APIs (REST) expose server data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;▶ Final Truth&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You must learn printers.&lt;/li&gt;
&lt;li&gt;Because grandma will ask you to fix them.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>computerscience</category>
      <category>programming</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>TECH TRENDS (2026)</title>
      <dc:creator>Aman Verma</dc:creator>
      <pubDate>Sun, 25 Jan 2026 10:46:59 +0000</pubDate>
      <link>https://dev.to/aman04/tech-trends-2026-nae</link>
      <guid>https://dev.to/aman04/tech-trends-2026-nae</guid>
      <description>&lt;p&gt;• Future feels overengineered, expensive, and unfinished&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI bosses, robot partners, smart devices with ads&lt;/li&gt;
&lt;li&gt;Startup ideas = old ideas + “AI / Quantum”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;• Software jobs&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2023 hiring boom is gone, fewer openings&lt;/li&gt;
&lt;li&gt;Still ~15% growth forecast till 2034&lt;/li&gt;
&lt;li&gt;AI tools won’t replace engineers in 2026&lt;/li&gt;
&lt;li&gt;New role emerging: "code janitors" fixing AI-written code&lt;/li&gt;
&lt;li&gt;H1B visa changes make cheap foreign hiring harder&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;• AI bubble status&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI hype not over yet, but LLMs have plateaued&lt;/li&gt;
&lt;li&gt;GPT-5 disappointed, no true intelligence leap&lt;/li&gt;
&lt;li&gt;Many white-collar jobs at risk (managers, designers, analysts)&lt;/li&gt;
&lt;li&gt;AI companies still private → IPO wave will signal peak&lt;/li&gt;
&lt;li&gt;Possible major IPOs in 2026 (OpenAI, Anthropic, SpaceX)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;• Robots &amp;amp; hardware&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Humanoid robots (Neo, Tesla Optimus, Figure) are gaining hype&lt;/li&gt;
&lt;li&gt;Tech is still weak, but funding is huge&lt;/li&gt;
&lt;li&gt;2026 may see robots entering factories&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;• Wearables &amp;amp; XR&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Past AI wearables failed (Rabbit, Humane Pin)&lt;/li&gt;
&lt;li&gt;New attempts coming (OpenAI + Jony Ive)&lt;/li&gt;
&lt;li&gt;VR/AR is still niche and mostly unprofitable&lt;/li&gt;
&lt;li&gt;Apple Vision Pro flop, cheaper version rumored&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;• Chips &amp;amp; infrastructure&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Biggest winners: Nvidia, ARM, TSMC&lt;/li&gt;
&lt;li&gt;AI demand = massive GPU + electricity needs&lt;/li&gt;
&lt;li&gt;Intel was saved by the US government, “too big to fail.”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;• Energy &amp;amp; nuclear&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data centers running out of power&lt;/li&gt;
&lt;li&gt;Nuclear energy revival possible&lt;/li&gt;
&lt;li&gt;Small modular reactors for data centers are emerging&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;• Quantum computing&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Breakthroughs in 2025–26&lt;/li&gt;
&lt;li&gt;First real-world useful quantum algorithms&lt;/li&gt;
&lt;li&gt;Could dwarf the AI boom&lt;/li&gt;
&lt;li&gt;US vs China race intensifying&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;• Government tech&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Digital IDs and CBDCs expanding in Europe &amp;amp; UK&lt;/li&gt;
&lt;li&gt;Privacy concerns are increasing&lt;/li&gt;
&lt;li&gt;Smartphones becoming state-controlled gateways&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;• JavaScript ecosystem&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Node.js improves, native TypeScript support&lt;/li&gt;
&lt;li&gt;Deno adds built-in bundler&lt;/li&gt;
&lt;li&gt;Bun.js is gaining popularity (fast + built-ins)&lt;/li&gt;
&lt;li&gt;React is still dominant but improving&lt;/li&gt;
&lt;li&gt;New frameworks emerging (e.g., Ripple)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;• Skill advice&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understanding AI fundamentals &amp;gt; hype&lt;/li&gt;
&lt;li&gt;Strong engineering skills still matter&lt;/li&gt;
&lt;li&gt;Learning how AI actually works is key&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>programming</category>
      <category>career</category>
      <category>performance</category>
      <category>softwareengineering</category>
    </item>
    <item>
      <title>humorous history of programming</title>
      <dc:creator>Aman Verma</dc:creator>
      <pubDate>Thu, 22 Jan 2026 08:22:06 +0000</pubDate>
      <link>https://dev.to/aman04/humorous-history-of-programming-3cmj</link>
      <guid>https://dev.to/aman04/humorous-history-of-programming-3cmj</guid>
      <description>&lt;p&gt;==============================&lt;/p&gt;

&lt;h1&gt;
  
  
  HISTORY OF PROGRAMMING (SUMMARY)
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;BEGINNING&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Initially, nothing existed&lt;/li&gt;
&lt;li&gt;Number 1 invented → later 0 invented&lt;/li&gt;
&lt;li&gt;People thought numbers were useless&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ELECTRICITY &amp;amp; BINARY&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Electricity works as ON / OFF&lt;/li&gt;
&lt;li&gt;ON  = 1&lt;/li&gt;
&lt;li&gt;OFF = 0&lt;/li&gt;
&lt;li&gt;Combination of 1 and 0 → Binary system&lt;/li&gt;
&lt;li&gt;Computers understand voltage, not words&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;BITS &amp;amp; BYTES&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Single binary digit = Bit&lt;/li&gt;
&lt;li&gt;8 bits grouped = Byte&lt;/li&gt;
&lt;li&gt;1 Byte can represent numbers from 0 to 255&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;EARLY COMPUTING&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Used vacuum tubes and punch cards&lt;/li&gt;
&lt;li&gt;Programming done using pure 0s and 1s&lt;/li&gt;
&lt;li&gt;Very difficult and error-prone&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ASSEMBLY LANGUAGE&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Created to replace raw binary&lt;/li&gt;
&lt;li&gt;Uses human-readable mnemonics&lt;/li&gt;
&lt;li&gt;Still hardware dependent&lt;/li&gt;
&lt;li&gt;Easier than machine code but still complex&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;COMPILERS &amp;amp; HIGH-LEVEL LANGUAGES&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Compiler converts readable code → machine code&lt;/li&gt;
&lt;li&gt;A programmer never sees machine code again&lt;/li&gt;
&lt;li&gt;First high-level languages:

&lt;ul&gt;
&lt;li&gt;FORTRAN → scientific computing&lt;/li&gt;
&lt;li&gt;COBOL   → business &amp;amp; government systems&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;LISP &amp;amp; NEW IDEAS&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Everything is a list&lt;/li&gt;
&lt;li&gt;Code = Data, Data = Code&lt;/li&gt;
&lt;li&gt;Uses an interpreter instead of a compiler&lt;/li&gt;
&lt;li&gt;Introduced Garbage Collection&lt;/li&gt;
&lt;li&gt;Memory handled automatically&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;STRUCTURED PROGRAMMING&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GOTO statements discouraged&lt;/li&gt;
&lt;li&gt;Focus on readable &amp;amp; maintainable code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;C LANGUAGE&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fast and powerful&lt;/li&gt;
&lt;li&gt;Direct access to memory&lt;/li&gt;
&lt;li&gt;High performance but unsafe&lt;/li&gt;
&lt;li&gt;Used to build operating systems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;UNIX&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Built using C&lt;/li&gt;
&lt;li&gt;Philosophy:

&lt;ul&gt;
&lt;li&gt;Small programs&lt;/li&gt;
&lt;li&gt;Each program does one task well&lt;/li&gt;
&lt;li&gt;Programs work together using pipes&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Command-line culture begins&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;C++&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extension of C&lt;/li&gt;
&lt;li&gt;Added Object-Oriented Programming&lt;/li&gt;
&lt;li&gt;Concepts:

&lt;ul&gt;
&lt;li&gt;Classes&lt;/li&gt;
&lt;li&gt;Objects&lt;/li&gt;
&lt;li&gt;Inheritance&lt;/li&gt;
&lt;li&gt;Polymorphism&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Widely used in games, browsers, and engines&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;1980s LANGUAGE BOOM&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BASIC → beginner friendly&lt;/li&gt;
&lt;li&gt;Pascal → structured programming&lt;/li&gt;
&lt;li&gt;Ada → military&lt;/li&gt;
&lt;li&gt;Erlang → telecom systems&lt;/li&gt;
&lt;li&gt;Smalltalk → pure object-oriented&lt;/li&gt;
&lt;li&gt;Many languages copied Smalltalk concepts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;1990s REVOLUTION&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python → readable, indent&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>ai</category>
      <category>productivity</category>
    </item>
    <item>
      <title>DATA STRUCTURE</title>
      <dc:creator>Aman Verma</dc:creator>
      <pubDate>Tue, 13 Jan 2026 06:02:30 +0000</pubDate>
      <link>https://dev.to/aman04/data-structure-16k8</link>
      <guid>https://dev.to/aman04/data-structure-16k8</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8oqt9wahhfa1sssskjjv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8oqt9wahhfa1sssskjjv.png" alt=" " width="800" height="725"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;A. Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Course Overview&lt;/li&gt;
&lt;li&gt;How to Navigate the Course&lt;/li&gt;
&lt;li&gt;Choosing Programming Language&lt;/li&gt;
&lt;li&gt;Problem-Solving Approach&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;B. Warm Up / Programming Basics&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Programming Fundamentals&lt;/li&gt;
&lt;li&gt;Functions&lt;/li&gt;
&lt;li&gt;Conditional Statements (if-else)&lt;/li&gt;
&lt;li&gt;Loops (for, while, do-while)&lt;/li&gt;
&lt;li&gt;Nested Loops&lt;/li&gt;
&lt;li&gt;Star Pattern Problems&lt;/li&gt;
&lt;li&gt;Second Largest Element&lt;/li&gt;
&lt;li&gt;Count Digits&lt;/li&gt;
&lt;li&gt;Palindrome (Number/String)&lt;/li&gt;
&lt;li&gt;Reverse Integer&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;C. Time &amp;amp; Space Complexity&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Time Complexity&lt;/li&gt;
&lt;li&gt; Space Complexity&lt;/li&gt;
&lt;li&gt; Big-O Notation&lt;/li&gt;
&lt;li&gt; Best, Worst &amp;amp; Average Case&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;D. Arrays (Easy / Medium)&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Array Basics&lt;/li&gt;
&lt;li&gt; Remove Duplicates&lt;/li&gt;
&lt;li&gt; Remove Element&lt;/li&gt;
&lt;li&gt; Reverse String&lt;/li&gt;
&lt;li&gt; Best Time to Buy &amp;amp; Sell Stock&lt;/li&gt;
&lt;li&gt; Merge Sorted Arrays&lt;/li&gt;
&lt;li&gt; Move Zeros&lt;/li&gt;
&lt;li&gt; Max Consecutive Ones&lt;/li&gt;
&lt;li&gt; Missing Number&lt;/li&gt;
&lt;li&gt;Single Number&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;E. Recursion (Easy / Medium)&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Recursion Basics&lt;/li&gt;
&lt;li&gt; Base Case &amp;amp; Recursive Case&lt;/li&gt;
&lt;li&gt; Sum of First N Numbers&lt;/li&gt;
&lt;li&gt; Sum of Array Elements&lt;/li&gt;
&lt;li&gt; Factorial&lt;/li&gt;
&lt;li&gt; Power of Two&lt;/li&gt;
&lt;li&gt; Recursion Patterns&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;f. Searching &amp;amp; Sorting&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Linear Search&lt;/li&gt;
&lt;li&gt; Binary Search&lt;/li&gt;
&lt;li&gt; Bubble Sort&lt;/li&gt;
&lt;li&gt; Selection Sort&lt;/li&gt;
&lt;li&gt; Insertion Sort&lt;/li&gt;
&lt;li&gt; Merge Sort&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;G. Linked List (Easy / Medium)&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Introduction to Linked List&lt;/li&gt;
&lt;li&gt; Design Linked List&lt;/li&gt;
&lt;li&gt; Insert Nodes&lt;/li&gt;
&lt;li&gt; Delete Nodes&lt;/li&gt;
&lt;li&gt; Middle of Linked List&lt;/li&gt;
&lt;li&gt; Reverse Linked List&lt;/li&gt;
&lt;li&gt; Cycle Detection (Hashing &amp;amp; Floyd’s Algorithm)&lt;/li&gt;
&lt;li&gt; Palindrome Linked List&lt;/li&gt;
&lt;li&gt; Intersection of Linked Lists&lt;/li&gt;
&lt;li&gt; Remove Nth Node (One-Pass &amp;amp; Two-Pass)&lt;/li&gt;
&lt;li&gt; Remove Duplicates&lt;/li&gt;
&lt;li&gt; Odd-Even Linked List&lt;/li&gt;
&lt;li&gt; Add Two Numbers&lt;/li&gt;
&lt;li&gt; Merge Two Sorted Lists&lt;/li&gt;
&lt;li&gt; Rotate Linked List&lt;/li&gt;
&lt;li&gt; Swap Nodes (Iterative &amp;amp; Recursive)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;H. Strings (Easy / Medium)&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Length of Last Word&lt;/li&gt;
&lt;li&gt; Find Words Containing Character&lt;/li&gt;
&lt;li&gt; Jewels and Stones&lt;/li&gt;
&lt;li&gt; Frequency of Vowels &amp;amp; Consonants&lt;/li&gt;
&lt;li&gt; Balanced Strings&lt;/li&gt;
&lt;li&gt; Reverse String II&lt;/li&gt;
&lt;li&gt; Valid Palindrome&lt;/li&gt;
&lt;li&gt; Largest Odd Number in String&lt;/li&gt;
&lt;li&gt; Longest Common Prefix&lt;/li&gt;
&lt;li&gt; Valid Anagram&lt;/li&gt;
&lt;li&gt; Isomorphic Strings&lt;/li&gt;
&lt;li&gt; Group Anagrams&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;I. Stack &amp;amp; Queue&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Stack &amp;amp; Queue Basics&lt;/li&gt;
&lt;li&gt; Stack Operations&lt;/li&gt;
&lt;li&gt; Queue Operations&lt;/li&gt;
&lt;li&gt; Stack using Queues&lt;/li&gt;
&lt;li&gt; Queue using Stacks&lt;/li&gt;
&lt;li&gt; Valid Parentheses&lt;/li&gt;
&lt;li&gt; Min Stack&lt;/li&gt;
&lt;li&gt; Remove Outermost Parentheses&lt;/li&gt;
&lt;li&gt; Reverse Polish Notation&lt;/li&gt;
&lt;li&gt; Next Greater Element (I &amp;amp; II)&lt;/li&gt;
&lt;li&gt; Daily Temperatures&lt;/li&gt;
&lt;li&gt; Rotting Oranges&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;J. Binary Search Algorithm&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Square Root of X&lt;/li&gt;
&lt;li&gt; Safe Middle Element Calculation&lt;/li&gt;
&lt;li&gt; Guess Higher or Lower&lt;/li&gt;
&lt;li&gt; Search in Rotated Sorted Array&lt;/li&gt;
&lt;li&gt; First Bad Version&lt;/li&gt;
&lt;li&gt; Find Peak Element&lt;/li&gt;
&lt;li&gt; Minimum in Rotated Sorted Array&lt;/li&gt;
&lt;li&gt; First &amp;amp; Last Position in Sorted Array&lt;/li&gt;
&lt;li&gt; Peak in Mountain Array&lt;/li&gt;
&lt;li&gt; Single Element in Sorted Array&lt;/li&gt;
&lt;li&gt; K Closest Elements&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;K. Two Pointers &amp;amp; Sliding Window&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Two Sum&lt;/li&gt;
&lt;li&gt; Two Sum II&lt;/li&gt;
&lt;li&gt; Is Subsequence&lt;/li&gt;
&lt;li&gt; First Occurrence in String&lt;/li&gt;
&lt;li&gt; KMP Algorithm&lt;/li&gt;
&lt;li&gt; Intersection of Linked Lists&lt;/li&gt;
&lt;li&gt; Container With Most Water&lt;/li&gt;
&lt;li&gt; Three Sum&lt;/li&gt;
&lt;li&gt; Trapping Rain Water&lt;/li&gt;
&lt;li&gt; Longest Substring Without Repeating Characters&lt;/li&gt;
&lt;li&gt; Longest Repeating Character Replacement&lt;/li&gt;
&lt;li&gt; Permutation in String&lt;/li&gt;
&lt;li&gt; Sliding Window Maximum&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;L. Binary Tree&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Tree Basics&lt;/li&gt;
&lt;li&gt; Tree Traversals&lt;/li&gt;
&lt;li&gt; DFS &amp;amp; BFS&lt;/li&gt;
&lt;li&gt; Level Order Traversal&lt;/li&gt;
&lt;li&gt; Maximum Depth&lt;/li&gt;
&lt;li&gt; Path Sum&lt;/li&gt;
&lt;li&gt; Symmetric Tree&lt;/li&gt;
&lt;li&gt; Invert Tree&lt;/li&gt;
&lt;li&gt; Same Tree&lt;/li&gt;
&lt;li&gt; Balanced Binary Tree&lt;/li&gt;
&lt;li&gt; Diameter of Binary Tree&lt;/li&gt;
&lt;li&gt; Zigzag Traversal&lt;/li&gt;
&lt;li&gt; Subtree Checking&lt;/li&gt;
&lt;li&gt; Lowest Common Ancestor&lt;/li&gt;
&lt;li&gt; Right Side View&lt;/li&gt;
&lt;li&gt; Count Good Nodes&lt;/li&gt;
&lt;li&gt; Populate Next Right Pointer&lt;/li&gt;
&lt;li&gt; Maximum Path Sum&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;M. Binary Search Tree (BST)&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; BST Introduction&lt;/li&gt;
&lt;li&gt; Valid BST&lt;/li&gt;
&lt;li&gt; Search in BST&lt;/li&gt;
&lt;li&gt; Insert into BST&lt;/li&gt;
&lt;li&gt; Kth Smallest Element&lt;/li&gt;
&lt;li&gt; Lowest Common Ancestor in BST&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;N. Heap / Priority Queue&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Heap Basics&lt;/li&gt;
&lt;li&gt; Build Heap&lt;/li&gt;
&lt;li&gt; Insert &amp;amp; Delete&lt;/li&gt;
&lt;li&gt; Heapify&lt;/li&gt;
&lt;li&gt; Heap Sort&lt;/li&gt;
&lt;li&gt; Priority Queue&lt;/li&gt;
&lt;li&gt; Kth Largest Element&lt;/li&gt;
&lt;li&gt; Kth Largest in Stream&lt;/li&gt;
&lt;li&gt; Last Stone Weight&lt;/li&gt;
&lt;li&gt; Top K Frequent Elements&lt;/li&gt;
&lt;li&gt; Kth Smallest in Sorted Matrix&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;O. Hashing&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Hash Table Basics&lt;/li&gt;
&lt;li&gt; Cycle Detection&lt;/li&gt;
&lt;li&gt; Palindrome Linked List&lt;/li&gt;
&lt;li&gt; Linked List Intersection&lt;/li&gt;
&lt;li&gt; Remove Duplicates&lt;/li&gt;
&lt;li&gt; Character Frequency&lt;/li&gt;
&lt;li&gt; Valid Anagram&lt;/li&gt;
&lt;li&gt; Isomorphic Strings&lt;/li&gt;
&lt;li&gt; Group Anagrams&lt;/li&gt;
&lt;li&gt; Next Greater Element&lt;/li&gt;
&lt;li&gt; Two Sum II&lt;/li&gt;
&lt;li&gt; KMP Algorithm&lt;/li&gt;
&lt;li&gt; Permutation in String&lt;/li&gt;
&lt;li&gt; Sliding Window Maximum&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;P. Backtracking&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Backtracking Basics&lt;/li&gt;
&lt;li&gt; Subsets / Power Set&lt;/li&gt;
&lt;li&gt; Combinations&lt;/li&gt;
&lt;li&gt; Permutations&lt;/li&gt;
&lt;li&gt; Subsets II&lt;/li&gt;
&lt;li&gt; Combination Sum I, II, III&lt;/li&gt;
&lt;li&gt; Letter Combinations&lt;/li&gt;
&lt;li&gt; Palindrome Partitioning&lt;/li&gt;
&lt;li&gt; Word Search&lt;/li&gt;
&lt;li&gt; N-Queens&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Q. Greedy Algorithm&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Greedy Strategy&lt;/li&gt;
&lt;li&gt; Two City Scheduling&lt;/li&gt;
&lt;li&gt; Assign Cookies&lt;/li&gt;
&lt;li&gt; Lemonade Change&lt;/li&gt;
&lt;li&gt; Stock Buy &amp;amp; Sell II&lt;/li&gt;
&lt;li&gt; Insert Interval&lt;/li&gt;
&lt;li&gt; Merge Intervals&lt;/li&gt;
&lt;li&gt; Partition Labels&lt;/li&gt;
&lt;li&gt; Non-Overlapping Intervals&lt;/li&gt;
&lt;li&gt; Task Scheduler&lt;/li&gt;
&lt;li&gt; Gas Station&lt;/li&gt;
&lt;li&gt; Car Pooling&lt;/li&gt;
&lt;li&gt; Candy Distribution&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;R. Dynamic Programming&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; DP Fundamentals&lt;/li&gt;
&lt;li&gt; Top-Down &amp;amp; Bottom-Up&lt;/li&gt;
&lt;li&gt; Fibonacci DP&lt;/li&gt;
&lt;li&gt; Climbing Stairs&lt;/li&gt;
&lt;li&gt; Min Cost Climbing Stairs&lt;/li&gt;
&lt;li&gt; House Robber I &amp;amp; II&lt;/li&gt;
&lt;li&gt; Coin Change I &amp;amp; II&lt;/li&gt;
&lt;li&gt; Palindromic Substrings&lt;/li&gt;
&lt;li&gt; Longest Palindromic Substring&lt;/li&gt;
&lt;li&gt; Decode Ways&lt;/li&gt;
&lt;li&gt; Kadane’s Algorithm&lt;/li&gt;
&lt;li&gt; Max Product Subarray&lt;/li&gt;
&lt;li&gt; Word Break&lt;/li&gt;
&lt;li&gt; LIS&lt;/li&gt;
&lt;li&gt; Partition Equal Subset Sum&lt;/li&gt;
&lt;li&gt; Unique Paths&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;19. Graphs&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Graph Basics&lt;/li&gt;
&lt;li&gt; BFS &amp;amp; DFS&lt;/li&gt;
&lt;li&gt; Path Existence&lt;/li&gt;
&lt;li&gt; Cycle Detection&lt;/li&gt;
&lt;li&gt; Topological Sort&lt;/li&gt;
&lt;li&gt; Shortest Path Algorithms&lt;/li&gt;
&lt;li&gt; Dijkstra&lt;/li&gt;
&lt;li&gt; Bellman-Ford&lt;/li&gt;
&lt;li&gt; Floyd-Warshall&lt;/li&gt;
&lt;li&gt; Minimum Spanning Tree&lt;/li&gt;
&lt;li&gt; Prim’s Algorithm&lt;/li&gt;
&lt;li&gt; Kruskal’s Algorithm&lt;/li&gt;
&lt;li&gt; Union Find&lt;/li&gt;
&lt;li&gt; Network &amp;amp; Flight Problems&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;S. Tries&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Trie Introduction&lt;/li&gt;
&lt;li&gt; TrieNode Structure&lt;/li&gt;
&lt;li&gt; Insert, Search, Prefix&lt;/li&gt;
&lt;li&gt; Time &amp;amp; Space Complexity&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>webdev</category>
      <category>datastructures</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
