logo Online Learner
  • Home
  • Learning Paths
  • Notes
  • Free Resume Builder
  • Portfolio
  • About Us
  • Contact Us
  • Login
  • Sign Up
  1. Learning Paths
  2. Java Interview Questions
  3. What is the Stream API in Java 8?

What is the Stream API in Java 8?

Stream API provides a functional approach to process collections of objects. Streams allow declarative processing with operations like filter, map, reduce, and collect.

Stream Basics

import java.util.*;
import java.util.stream.*;

public class StreamBasics {
    public static void main(String[] args) {
        List numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
        
        // Traditional approach (imperative)
        System.out.println("=== Traditional Approach ===");
        List evenNumbersOld = new ArrayList<>();
        for (int num : numbers) {
            if (num % 2 == 0) {
                evenNumbersOld.add(num);
            }
        }
        System.out.println("Even numbers: " + evenNumbersOld);
        
        // Stream approach (declarative)
        System.out.println("
=== Stream Approach ===");
        List evenNumbersStream = numbers.stream()
            .filter(n -> n % 2 == 0)
            .collect(Collectors.toList());
        System.out.println("Even numbers: " + evenNumbersStream);
        
        // Chain multiple operations
        System.out.println("
=== Chained Operations ===");
        int sumOfSquaresOfEvens = numbers.stream()
            .filter(n -> n % 2 == 0)      // Filter even numbers
            .map(n -> n * n)               // Square them
            .reduce(0, Integer::sum);      // Sum them
        
        System.out.println("Sum of squares of evens: " + sumOfSquaresOfEvens);
        
        // Understanding Stream pipeline
        System.out.println("
=== Stream Pipeline Visualization ===");
        numbers.stream()
            .filter(n -> {
                System.out.println("Filtering: " + n);
                return n % 2 == 0;
            })
            .map(n -> {
                System.out.println("Mapping: " + n);
                return n * n;
            })
            .limit(3)
            .forEach(n -> System.out.println("Result: " + n));
        
        // Creating streams from different sources
        System.out.println("
=== Creating Streams ===");
        
        // From Collection
        Stream fromList = numbers.stream();
        
        // From array
        Integer[] array = {1, 2, 3, 4, 5};
        Stream fromArray = Arrays.stream(array);
        
        // From values
        Stream fromValues = Stream.of("a", "b", "c");
        
        // Infinite streams
        Stream iterate = Stream.iterate(0, n -> n + 2);
        Stream generate = Stream.generate(Math::random);
        
        // Stream from range
        IntStream range = IntStream.range(1, 10);
        IntStream rangeClosed = IntStream.rangeClosed(1, 10);
    }
}

Intermediate Operations

public class IntermediateOperations {
    public static void main(String[] args) {
        List words = Arrays.asList("apple", "banana", "cherry", "date", "elderberry");
        
        System.out.println("Original list: " + words);
        
        // 1. filter - keep elements matching predicate
        System.out.println("
=== filter (length > 5) ===");
        words.stream()
            .filter(w -> w.length() > 5)
            .forEach(System.out::println);
        
        // 2. map - transform each element
        System.out.println("
=== map (to uppercase) ===");
        words.stream()
            .map(String::toUpperCase)
            .forEach(System.out::println);
        
        // 3. flatMap - flatten nested streams
        System.out.println("
=== flatMap (flatten lists) ===");
        List> nestedList = Arrays.asList(
            Arrays.asList(1, 2, 3),
            Arrays.asList(4, 5, 6),
            Arrays.asList(7, 8, 9)
        );
        
        List flatList = nestedList.stream()
            .flatMap(List::stream)
            .collect(Collectors.toList());
        System.out.println("Nested: " + nestedList);
        System.out.println("Flat: " + flatList);
        
        // 4. distinct - remove duplicates
        System.out.println("
=== distinct ===");
        List withDuplicates = Arrays.asList(1, 2, 2, 3, 3, 3, 4, 5, 5, 6);
        List distinct = withDuplicates.stream()
            .distinct()
            .collect(Collectors.toList());
        System.out.println("With duplicates: " + withDuplicates);
        System.out.println("Distinct: " + distinct);
        
        // 5. sorted - sort elements
        System.out.println("
=== sorted ===");
        List unsorted = Arrays.asList(5, 2, 8, 1, 9, 3, 7, 4, 6);
        List sorted = unsorted.stream()
            .sorted()
            .collect(Collectors.toList());
        System.out.println("Unsorted: " + unsorted);
        System.out.println("Sorted: " + sorted);
        
        // Custom sorting
        List sortedByLength = words.stream()
            .sorted(Comparator.comparingInt(String::length))
            .collect(Collectors.toList());
        System.out.println("Sorted by length: " + sortedByLength);
        
        // 6. limit - limit size
        System.out.println("
=== limit (first 3) ===");
        words.stream()
            .limit(3)
            .forEach(System.out::println);
        
        // 7. skip - skip first n elements
        System.out.println("
=== skip (skip first 2) ===");
        words.stream()
            .skip(2)
            .forEach(System.out::println);
        
        // 8. peek - debug/intermediate
        System.out.println("
=== peek (debugging) ===");
        long count = words.stream()
            .peek(w -> System.out.println("Before: " + w))
            .map(String::toUpperCase)
            .peek(w -> System.out.println("After: " + w))
            .count();
    }
}

Terminal Operations

import java.util.Optional;

public class TerminalOperations {
    public static void main(String[] args) {
        List numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
        
        // 1. collect - accumulate into collection
        System.out.println("=== collect ===");
        List collected = numbers.stream()
            .filter(n -> n % 2 == 0)
            .collect(Collectors.toList());
        System.out.println("Even numbers: " + collected);
        
        Set set = numbers.stream()
            .filter(n -> n > 5)
            .collect(Collectors.toSet());
        System.out.println("Set of numbers > 5: " + set);
        
        // 2. toArray - convert to array
        System.out.println("
=== toArray ===");
        Integer[] array = numbers.stream()
            .filter(n -> n % 2 == 0)
            .toArray(Integer[]::new);
        System.out.println("Array: " + Arrays.toString(array));
        
        // 3. forEach - iterate
        System.out.println("
=== forEach ===");
        numbers.stream()
            .filter(n -> n % 2 == 0)
            .forEach(System.out::println);
        
        // 4. reduce - combine elements
        System.out.println("
=== reduce ===");
        Optional sum = numbers.stream()
            .reduce((a, b) -> a + b);
        System.out.println("Sum: " + sum.orElse(0));
        
        int product = numbers.stream()
            .reduce(1, (a, b) -> a * b);
        System.out.println("Product: " + product);
        
        int max = numbers.stream()
            .reduce(Integer.MIN_VALUE, Integer::max);
        System.out.println("Max: " + max);
        
        // 5. count - count elements
        System.out.println("
=== count ===");
        long count = numbers.stream()
            .filter(n -> n % 2 == 0)
            .count();
        System.out.println("Even numbers count: " + count);
        
        // 6. min/max - find min/max
        System.out.println("
=== min/max ===");
        Optional min = numbers.stream().min(Integer::compareTo);
        Optional maxNum = numbers.stream().max(Integer::compareTo);
        System.out.println("Min: " + min.orElse(0));
        System.out.println("Max: " + maxNum.orElse(0));
        
        // 7. anyMatch/allMatch/noneMatch
        System.out.println("
=== match operations ===");
        boolean anyEven = numbers.stream().anyMatch(n -> n % 2 == 0);
        boolean allEven = numbers.stream().allMatch(n -> n % 2 == 0);
        boolean noneNegative = numbers.stream().noneMatch(n -> n < 0);
        
        System.out.println("Any even number? " + anyEven);
        System.out.println("All numbers even? " + allEven);
        System.out.println("No negative numbers? " + noneNegative);
        
        // 8. findFirst/findAny
        System.out.println("
=== findFirst/findAny ===");
        Optional first = numbers.stream()
            .filter(n -> n % 2 == 0)
            .findFirst();
        System.out.println("First even: " + first.orElse(0));
        
        Optional any = numbers.parallelStream()
            .filter(n -> n % 2 == 0)
            .findAny();
        System.out.println("Any even (parallel): " + any.orElse(0));
    }
}

Collectors Utility

public class CollectorsDemo {
    static class Person {
        String name;
        int age;
        String city;
        double salary;
        
        Person(String name, int age, String city, double salary) {
            this.name = name;
            this.age = age;
            this.city = city;
            this.salary = salary;
        }
        
        @Override
        public String toString() {
            return name + "(" + age + "," + city + ")";
        }
    }
    
    public static void main(String[] args) {
        List people = Arrays.asList(
            new Person("Alice", 25, "NYC", 75000),
            new Person("Bob", 30, "LA", 80000),
            new Person("Charlie", 25, "NYC", 65000),
            new Person("David", 35, "Chicago", 90000),
            new Person("Eve", 28, "LA", 70000),
            new Person("Frank", 25, "NYC", 60000)
        );
        
        // 1. groupingBy
        System.out.println("=== groupingBy ===");
        Map> byAge = people.stream()
            .collect(Collectors.groupingBy(p -> p.age));
        System.out.println("Group by age: " + byAge);
        
        Map> byCity = people.stream()
            .collect(Collectors.groupingBy(p -> p.city));
        System.out.println("Group by city: " + byCity);
        
        // 2. groupingBy with counting
        System.out.println("
=== groupingBy with counting ===");
        Map countByCity = people.stream()
            .collect(Collectors.groupingBy(p -> p.city, Collectors.counting()));
        System.out.println("Count by city: " + countByCity);
        
        // 3. groupingBy with summing
        System.out.println("
=== groupingBy with summing ===");
        Map salaryByCity = people.stream()
            .collect(Collectors.groupingBy(p -> p.city, 
                     Collectors.summingDouble(p -> p.salary)));
        System.out.println("Total salary by city: " + salaryByCity);
        
        // 4. groupingBy with averaging
        System.out.println("
=== groupingBy with averaging ===");
        Map avgSalaryByCity = people.stream()
            .collect(Collectors.groupingBy(p -> p.city,
                     Collectors.averagingDouble(p -> p.salary)));
        System.out.println("Average salary by city: " + avgSalaryByCity);
        
        // 5. partitioningBy
        System.out.println("
=== partitioningBy ===");
        Map> adults = people.stream()
            .collect(Collectors.partitioningBy(p -> p.age >= 30));
        System.out.println("Adults: " + adults.get(true));
        System.out.println("Young adults: " + adults.get(false));
        
        // 6. joining
        System.out.println("
=== joining ===");
        String names = people.stream()
            .map(p -> p.name)
            .collect(Collectors.joining(", "));
        System.out.println("Names: " + names);
        
        // 7. summarizingInt/Double
        System.out.println("
=== summarizing ===");
        IntSummaryStatistics stats = people.stream()
            .collect(Collectors.summarizingInt(p -> p.age));
        System.out.println("Age stats - Avg: " + stats.getAverage() + 
                          ", Max: " + stats.getMax() + 
                          ", Min: " + stats.getMin() +
                          ", Sum: " + stats.getSum());
        
        // 8. mapping while collecting
        System.out.println("
=== mapping while collecting ===");
        Map> namesByAge = people.stream()
            .collect(Collectors.groupingBy(p -> p.age,
                     Collectors.mapping(p -> p.name, Collectors.toSet())));
        System.out.println("Names by age: " + namesByAge);
        
        // 9. toMap
        System.out.println("
=== toMap ===");
        Map nameSalaryMap = people.stream()
            .collect(Collectors.toMap(p -> p.name, p -> p.salary));
        System.out.println("Name to salary: " + nameSalaryMap);
    }
}

Parallel Streams

public class ParallelStreams {
    public static void main(String[] args) {
        // Create large list
        List numbers = IntStream.rangeClosed(1, 10000000)
            .boxed()
            .collect(Collectors.toList());
        
        System.out.println("=== Performance Comparison ===
");
        
        // Sequential stream
        long start = System.currentTimeMillis();
        long sequentialSum = numbers.stream()
            .mapToLong(Long::valueOf)
            .sum();
        long sequentialTime = System.currentTimeMillis() - start;
        
        // Parallel stream
        start = System.currentTimeMillis();
        long parallelSum = numbers.parallelStream()
            .mapToLong(Long::valueOf)
            .sum();
        long parallelTime = System.currentTimeMillis() - start;
        
        System.out.println("Sequential sum: " + sequentialSum + " Time: " + sequentialTime + "ms");
        System.out.println("Parallel sum: " + parallelSum + " Time: " + parallelTime + "ms");
        System.out.println("Parallel is " + (sequentialTime - parallelTime) + "ms faster");
        System.out.println("Speedup: " + (double)sequentialTime / parallelTime + "x
");
        
        // When to use parallel streams
        System.out.println("=== When to Use Parallel Streams ===");
        System.out.println("✓ Large data sets (thousands+ elements)");
        System.out.println("✓ CPU-intensive operations");
        System.out.println("✓ Stateless operations");
        System.out.println("✓ Operations that can be executed independently");
        
        System.out.println("
=== When NOT to Use Parallel Streams ===");
        System.out.println("✗ Small data sets (overhead > benefit)");
        System.out.println("✗ Order-sensitive operations (use forEachOrdered)");
        System.out.println("✗ Operations with shared mutable state");
        System.out.println("✗ I/O-bound operations");
        
        // Example: Maintaining order with parallel streams
        System.out.println("
=== Maintaining Order ===");
        List orderedList = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
        
        System.out.println("forEach (order not guaranteed):");
        orderedList.parallelStream()
            .forEach(n -> System.out.print(n + " "));
        
        System.out.println("

forEachOrdered (order maintained):");
        orderedList.parallelStream()
            .forEachOrdered(n -> System.out.print(n + " "));
        System.out.println();
        
        // Performance test with different operations
        System.out.println("
=== Operation Type Impact ===");
        
        // CPU-intensive operation
        start = System.currentTimeMillis();
        long sequentialCpu = numbers.stream()
            .map(n -> {
                for (int i = 0; i < 1000; i++) Math.sqrt(n);
                return n;
            })
            .count();
        long seqCpuTime = System.currentTimeMillis() - start;
        
        start = System.currentTimeMillis();
        long parallelCpu = numbers.parallelStream()
            .map(n -> {
                for (int i = 0; i < 1000; i++) Math.sqrt(n);
                return n;
            })
            .count();
        long parCpuTime = System.currentTimeMillis() - start;
        
        System.out.println("CPU-intensive task:");
        System.out.println("  Sequential: " + seqCpuTime + "ms");
        System.out.println("  Parallel: " + parCpuTime + "ms");
        System.out.println("  Parallel " + (double)seqCpuTime/parCpuTime + "x faster");
    }
}

Master Java 8 Stream API with Online Learner!



X (Twitter)
0 likes
Your Feedback

Help us improve by sharing your thoughts

IT and Digital Marketing
keyboard_arrow_left Previous: What is a Lambda Expression in Java 8?
Next: What are Optional Class and Its Benefits in Java 8? keyboard_arrow_right
Online Learner Logo

Online Learner helps developers master programming, database concepts, interview preparation, and real-world implementation through structured learning paths.

Quick Links

  • Frontend Development
  • Backend Development
  • Learning Paths
  • Notes
  • Free Resume Builder
  • Portfolio

Company

  • About Us
  • Contact Us
  • Terms & Conditions
  • Disclaimer

© 2023 - 2026 OnlineLearner.in | All Rights Reserved.

logo
  • code Frontend
  • storage Backend
  • live_help Interviews
  • work_outline PHP Frameworks
  • settings Routine Use
  • book Blogs
Frontend
  • HTML Tutorial
    • HTML Introduction
    • HTML Tags
    • HTML Elements
    • HTML Attributes
    • HTML Heading
    • HTML Paragraph
    • HTML Formatting
    • HTML Quotations
    • HTML Comments
    • HTML Styles
    • HTML Color
    • HTML CSS
    • HTML Images
    • HTML Favicon
    • HTML Links
    • HTML DIV
    • HTML Tables
    • HTML Table Size
    • HTML Table Head
    • Table Padding & Spa...
    • Table colspan rowspsn
    • HTML Table Styling
    • HTML Colgroup
    • HTML List
    • HTML Block & Inline
    • HTML Classes
    • HTML Id
    • HTML Iframes
    • HTML Head
    • HTML Layout
    • HTML Semantic Elements
    • HTML Style Guide
    • HTML Forms
    • HTML Form Attribute
    • HTML Form Element
    • HTML input type
    • HTML Computer code
    • HTML Entity
    • HTML Symbol
    • HTML Emojis
    • HTML Charset
    • HTML Input Form Att...
    • HTML URL Encoding
  • CSS Tutorial
    • CSS Introduction
    • CSS Syntax
    • CSS Selector
    • How To Add CSS
    • CSS Comments
    • CSS Colors
    • CSS Background color
    • CSS background-image
    • CSS Borders
    • CSS Margins
    • CSS Height, Width a...
    • CSS Box Model
    • CSS Outline
    • CSS Text
    • CSS Fonts
    • CSS Icon
    • CSS Links
    • CSS Tables
    • CSS Display
    • CSS Maximum Width
    • CSS Position
    • z-index Property
  • JavaScript Tutorial
    • What is JavaScript
    • JS Syntax
    • JS Variables
    • JS Data Types
    • JS Operators
    • JS Control Flow - IF
    • JS Control Flow - S...
    • JS Control Flow - Loop
    • JS Function
    • JS Object Methods
    • JS Anonymous Funct...
    • JS Recursive Function
    • JS Default Parameters
    • JS this Keyword
    • What is an Array in...
    • What are JavaScript...
    • Error Handling in J...
    • DOM Selection in Ja...
    • DOM Traversal in Ja...
    • Manipulating Elemen...
    • Event Handling in J...
    • JavaScript Event Li...
    • JavaScript Event Pr...
    • Form Handling in Ja...
    • Dynamic Styling in ...
    • JavaScript DOM Elem...
    • Window Object in Ja...
    • What is Local Storage?
    • Regular Expressions...
  • Jquery Tutorial
    • What is jQuery?
    • Benefits of using j...
    • Include jQuery
    • Selectors.
    • Methods.
    • The $ symbol and sh...
    • Selecting elements
    • Getting and setting...
    • Adding and removing...
    • Modifying CSS and c...
    • Binding and Unbindi...
    • Common events: clic...
    • Event delegation
    • Using .on() for dyn...
    • Showing and hiding ...
    • Fading elements in ...
    • Sliding elements up...
    • .animate()
    • Understanding AJAX
    • .ajax()
    • .load(), .get(), .p...
    • Handling responses ...
    • Parent
    • Chlid
    • Siblings
    • Filtering Elements
    • Using find
    • Selecting form elem...
    • Getting form values
    • Setting form values
    • Form validation
    • Handling form submi...
    • jQuery plugins
    • Sliders plugins
    • $.each()
    • $.trim()
    • $.extend()
    • Data attributes
    • Debugging jQuery code
  • Bootstrap 4
    • What is Bootstrap
    • Benefits of using
    • Setting up
    • Container
    • Row and Column
    • Grid Classes
    • Breakpoints
    • Offsetting Columns
    • Column Ordering
    • Basic Typography
    • Text Alignment
    • Text colors
    • Backgrounds
    • Display
    • Font Size Utilities
    • Buttons
    • Navs and Navbar
    • Forms
    • Cards
    • Alerts
    • Badges
    • Progress Bars
    • Margin
    • Padding
    • Sizing
    • Flexbox
    • Dropdowns
    • Modals
    • Tooltips
    • Popovers
    • Collapse
    • Carousel
    • Images
    • Tables
    • Jumbotron
    • Media Object
  • Git
    • Understanding Versi...
    • Download and Instal...
    • Git Configure
    • Git Initialize
    • Add Changes to Staging
    • Commit Changes
    • Branching
    • Merging
    • Remote Repository
    • Understanding Git C...
    • Stashing Changes
    • Viewing Commit History
    • Undoing Changes
  • Ajax Tutorial
    • Ajax Fundamentals
    • Ajax Working
    • XMLHttpRequest Fetch
    • Synchronous vs Asyn...
    • Ajax Advantages
    • Ajax Disadvantages
    • $.ajax() method
    • Ajax GET request
    • Ajax POST Request
    • Json Response
    • Ajax Errors
    • Ajax Form
  • React Tutorial
    • What is React? Begi...
    • React Environment S...
    • React Fundamentals:...
    • Functional vs Class...
    • Props in React Expl...
    • State and setState ...
    • React Event Handling
    • React Conditional R...
    • React Lists and Keys
    • Styling in React In...
    • Styling in React Us...
    • Styling in React Us...
    • Tailwind CSS with R...
    • Tailwind vs CSS Mod...
    • React Hooks
    • React useState Hook
    • React useEffect Hook
    • React useRef Hook
    • React useContext Hook
    • React useReducer Hook
    • Custom Hooks in React
    • React Router – In...
    • Installing React Ro...
    • React Router – Ro...
    • React Router – Ne...
    • React Router URL Pa...
    • React Router Protec...
    • React Router Redire...
    • State Management in...
    • Redux State Managem...
    • Redux Toolkit Expla...
    • Redux Toolkit vs Re...
    • Controlled vs Uncon...
    • Handling Form Input...
    • API Integration in ...
    • Axios in React – ...
    • Handling Loading an...
    • Async Await in Java...
    • Displaying API Data...
    • CRUD Operations in ...
    • React Performance O...
    • React Performance O...
  • Tailwind
    • Introduction to Tai...
    • Utility-First CSS E...
    • Tailwind CSS vs Boo...
    • When and Why to Use...
    • Real-World Use Case...
    • Tailwind CSS Instal...
    • Installing Tailwind...
    • Tailwind CSS with V...
    • Setting Up Tailwind...
    • Install Tailwind CS...
    • Tailwind CSS Colors...
    • Tailwind CSS Backgr...
    • Tailwind CSS Paddin...
    • Tailwind CSS Margin...
    • Tailwind CSS Width ...
    • Tailwind CSS Height...
    • Tailwind CSS Border...
    • Tailwind CSS Border...
    • Tailwind CSS Text S...
    • Tailwind CSS Box Sh...
    • Tailwind CSS Opacit...
    • Tailwind CSS Cursor...
    • Tailwind CSS Overfl...
    • Tailwind CSS Font S...
    • Tailwind CSS Font W...
    • Tailwind CSS Text A...
    • Tailwind CSS Line H...
    • Tailwind CSS Letter...
    • Tailwind CSS Text T...
    • How to Use Google F...
    • Flexbox with Tailwi...
    • Justify Content in ...
    • Align Items in Tail...
    • Flex Direction in T...
    • Gap in Tailwind CSS...
    • Flexbox with Tailwi...
    • Grid System in Tail...
    • Grid System in Tail...
    • Responsive Design i...
    • Positioning & Z-Ind...
    • Background Colors i...
    • Background Images i...
    • Gradients in Tailwi...
    • Image Object-Fit in...
    • Image Overlay Effec...
    • Buttons in Tailwind...
    • Hover & Focus State...
    • Buttons and Forms i...
    • Cards and Sections ...
    • Navbar and Footer D...
Backend
  • PHP Tutorial
    • PHP Introduction
    • PHP Installation
    • PHP Syntax
    • PHP Comments
    • PHP Variable
    • PHP Echo
    • PHP Data Types
    • PHP Strings
    • PHP Constant
    • PHP Maths
    • PHP Number
    • PHP Operators
    • PHP if else & if el...
    • PHP Switch
    • PHP Loops
    • PHP Functions
    • PHP Array
    • PHP OOps
    • PHP Class & Object
    • PHP Constructor
    • PHP Destructor
    • PHP Access Modfiers
    • PHP Inheritance
    • PHP Final Keyword
    • PHP Class Constant
    • PHP Abstract Class
    • PHP Superglobals
    • PHP Regular Expression
    • PHP Interfaces
    • PHP Static Method
    • PHP Static Properties
    • PHP Namespace
    • PHP Iterable
    • PHP Form Introduction
    • PHP Form Validation
    • PHP Complete Form
    • PHP Date and Time
    • PHP Include Files
    • PHP - Files & I/O
    • File Upload
    • PHP Cookies
    • PHP SESSION
    • PHP Filters
    • PHP Callback Functions
    • PHP JSON
    • PHP AND Exceptions
    • PHP Connect database
  • PHP Functions
    • strlen
    • strtoupper
    • strtolower
    • ucfirst
    • ucwords
    • substr
    • str_replace
    • strpos
    • trim in php
    • explode
    • implode
    • count in php
    • array_merge
    • array_push
    • array_pop
    • array_shift
    • array_unshift
    • in_array
    • array_keys
    • array_values
    • array_filter
    • array_map
    • sort
    • asort
    • ksort
    • abs
    • round
    • ceil
    • floor
    • rand
    • mt_rand
    • max
    • min
    • pow
    • sqrt
    • date
    • time
    • strtotime
    • mktime
    • date_diff
    • getdate
    • fopen
    • fread
    • fwrite
    • fclose
    • file_get_contents
    • file_put_contents
    • file_exists
    • unlink
    • filesize
    • is_readable
    • is_writable
    • urlencode
    • urldecode
    • parse_url
    • http_build_query
    • isset
    • empty
    • is_numeric
    • is_array
    • is_string
    • filter_var
    • htmlspecialchars
    • md5
    • sha1
    • password_hash
    • password_verify
    • die
    • exit
    • var_dump
    • print_r
    • include
    • require
    • json_encode
    • json_decode
    • sleep
  • PHP and MySQL Functions
    • mysqli_connect
    • mysqli_select_db
    • mysqli_query
    • mysqli_prepare
    • mysqli_stmt_execute
    • mysqli_multi_query
    • mysqli_fetch_assoc
    • mysqli_fetch_array
    • mysqli_fetch_row
    • mysqli_fetch_object
    • mysqli_num_rows
    • mysqli_real_escape_...
    • mysqli_insert_id
    • mysqli_affected_rows
    • mysqli_error
    • mysqli_close
    • mysqli_commit
    • mysqli_rollback
  • Python Tutorial
    • What is Python?
    • Install Python on W...
    • Install Python on L...
    • Install Python on m...
    • IDE Setup
    • Python syntax
    • Python Comments
    • Python Indentation
    • Python Variables
    • Python Data Types
    • Python Numeric
    • Python Boolean
    • Python String
    • Python List
    • Python Tuple
    • Python Range
    • Python Dictionary
    • Python Arithmetic O...
    • Python Assignment O...
    • Python Comparison O...
    • Python Logical Oper...
    • Python Bitwise Oper...
    • Python if condition
    • Python if else cond...
    • Python For Loop
    • Python While Loop
    • Python break, conti...
  • MYSQL
    • SQL Introduction
    • Syntax
    • Select statement
    • Select Distinct
    • WHERE Clause
    • Order By
    • SQL AND Operator
    • SQL OR Operator
    • SQL NOT Operator
    • SQL LIKE
    • SQL IN
    • SQL BETWEEN
    • SQL INSERT INTO
    • SQL NULL Values
    • SQL UPDATE
    • SQL DELETE
    • SQL TOP, LIMIT, FET...
    • SQL MIN() and MAX()...
    • SQL COUNT() Function
    • SQL SUM()
    • SQL AVG()
    • SQL Aliases
    • SQL JOIN
    • SQL INNER JOIN
    • SQL LEFT JOIN
    • SQL RIGHT JOIN
    • SQL FULL OUTER JOIN
    • SQL Self Join
    • SQL UNION
    • SQL GROUP BY
    • SQL HAVING
    • SQL EXISTS
    • SQL ANY and ALL
    • SQL SELECT INTO
    • SQL INSERT INTO SELECT
    • SQL CASE
    • SQL NULL Functions
    • SQL Stored Procedures
    • SQL Comments
    • SQL Operators
    • SQL CREATE DATABASE
    • SQL DROP DATABASE
    • SQL BACKUP DATABASE
    • SQL CREATE TABLE
    • SQL DROP TABLE
    • SQL ALTER TABLE
    • SQL Constraints
    • SQL NOT NULL
    • SQL UNIQUE Constraint
    • SQL PRIMARY KEY
    • SQL FOREIGN KEY
    • SQL CHECK Constraint
    • SQL CREATE INDEX
    • SQL AUTO INCREMENT
    • SQL Dates
    • SQL Views
    • SQL Injection
    • SQL Hosting
    • SQL Data Types
  • Node Js
    • What is Node.js?
    • Why use Node.js?
    • Installing Node.js
    • First Node.js progr...
    • Event Loop
    • Understanding npm
    • What are Modules?
    • fs (File System)
    • Http Module
    • Path Module
    • Creating custom mod...
    • Exporting and impor...
    • Setting up a basic ...
    • Handling requests a...
    • Serving HTML
    • Serving CSS
    • Serving JavaScript
  • Python MySQL
    • Database Connection
    • Table Creation
    • Insert Query
    • Select Query
    • Update Query
    • Delete Query
    • Where Clause Query
    • Limit Clause Query
    • Join Tables
    • Order By Query
    • Group By Query
    • Aggregate Functions
    • Parameterized Query
  • Java Tutorials
    • Java Introduction
    • Java Installation
    • Java Syntax
    • Java Comments
    • Java Variables
    • Java DataTypes
    • Java Operators
    • Java Conditionals
    • Java Looping
    • Java Arrays
    • Java Methods
    • Java Classes
    • Java Objects
    • Java Constructors
    • Java Inheritance
    • Java Polymorphism
    • Java Encapsulation
    • Java Abstraction
    • Java Exception
    • Java Interfaces
    • Java File Handling
    • Java Threads
    • Java Access Modifiers
    • Java Static Keyword
    • Java Final Keyword
    • Java Nested Class
    • Java Synchronization
  • Docker
    • Introduction to Docker
    • Installing Docker
    • Docker Architecture
    • Docker Images
    • Docker Containers
    • Dockerfile Basics
    • Docker Volumes
    • Docker Networking
    • Docker Compose
    • Docker Hub & Registry
    • Multi-Stage Builds
    • Docker with Nginx
    • Docker with MySQL
    • Docker with PHP & L...
    • Docker Environment ...
    • Docker Logs & Debug...
    • Docker Security Bes...
    • Docker Swarm Basics
    • Docker vs Virtual M...
    • Real World Docker P...
Interviews
  • PHP Interviews
    • What is PHP?
    • What does PHP stand...
    • PHP Advantages
    • Difference between ...
    • Start a PHP script?
    • Commenting in PHP
    • Variable in PHP
    • Different types of ...
    • Different types of ...
    • Array in PHP
    • Difference between ...
    • Retrieve data from ...
    • PHP handle errors
    • Sessions in PHP
    • PHP Cookie
    • What are the main f...
    • What are the differ...
    • What are the differ...
  • Java Interview Questions
    • Java Basics – Wha...
    • What is the differe...
    • What are the OOP co...
    • Why is the main met...
    • What are the differ...
    • What is the differe...
    • What is Method Over...
    • What is the Differe...
    • What is the Constru...
    • What are the Access...
    • What is the this Ke...
    • What is the super K...
    • What is the static ...
    • What is the final K...
    • What is Exception H...
    • What are Checked an...
    • What is the Differe...
    • What are Multithrea...
    • What is the Java Co...
    • What is the Differe...
    • What is the Differe...
    • What is the Differe...
    • What is the Differe...
    • How Does HashMap Wo...
    • What is the Differe...
    • What is the Differe...
    • What is the String ...
    • What is the Differe...
    • What is Garbage Col...
    • What is the Differe...
    • What is a Lambda Ex...
    • What is the Stream ...
    • What are Optional C...
    • What is the Differe...
    • What are the Key Fe...
    • What is the Record ...
  • React Interviews
    • What is React.js
    • Help In Interviews
    • Features of React
    • What is JSX
    • React's Virtual DOM
    • State and Props
    • React handle data b...
    • React Component
    • setState() method.
    • Controlled Components
    • Lifecycle Methods
    • Significance of keys
    • What are the differ...
  • Laravel Interviews
    • What is Laravel?
    • What are the key fe...
    • Explain the concept...
    • What is a controlle...
    • What is Blade templ...
    • How does Eloquent O...
    • Explain the concept...
    • What are middleware...
    • How do you create a...
    • What is CSRF protec...
    • What is the purpose...
    • What is the purpose...
    • Explain the concept...
    • How do you create a...
    • What is the purpose...
    • How do you define r...
    • What are named rout...
    • Explain the use of ...
    • What is the purpose...
    • What are service pr...
  • SQL Interviews
    • What is SQL?
    • What are the differ...
    • What is the differe...
    • What is a primary key?
    • What is a foreign key?
    • What are the differ...
    • What is the differe...
    • What is the use of ...
    • What is the differe...
    • What is an index in...
    • What types of index...
    • What is a subquery?
    • How do you use the ...
    • How can you find th...
    • Explain the use of ...
    • What is a view?
    • What are the limita...
    • Write a query to fe...
    • Write a query to fe...
    • Write a query to co...
    • Write a query to fe...
    • Write a query to fe...
    • Write a query to fi...
    • Write a query to fe...
    • Write a query to re...
    • Write a query to ge...
    • Write a query to ge...
    • Write a query to li...
    • Write a query to fi...
    • Write a query to fi...
    • Write a query to ge...
    • Write a query to fi...
    • Write a query to co...
    • Write a query to fi...
    • Write a query to li...
    • Write a query to fe...
    • Write a query to fi...
    • Write a query to fe...
    • Write a query to ge...
    • Write a query to co...
    • Write a query to fe...
  • JavaScript Interview Questions
    • What Exactly is Jav...
    • What are the data t...
    • What is the differe...
    • JavaScript double e...
    • What is a Closure i...
    • What is Hoisting in...
    • Understanding "this...
    • What Are JavaScript...
    • Null vs Undefined i...
    • How Does JavaScript...
    • What is a Promise i...
    • Async/Await in Java...
    • Event Delegation in...
    • JavaScript Modules ...
    • How to Prevent a Fu...
    • JavaScript Intervie...
    • JavaScript Intervie...
    • What is bind() in J...
    • Event Bubbling vs. ...
    • Deep Copy vs Shallo...
    • What is the new Key...
PHP Frameworks
  • Laravel
    • Laravel Topics
    • Laravel 7 Installation
    • Install laravel 8
    • Laravel 8 Routing
    • Laravel Controllers
    • Views and Blade lar...
    • Database and Eloque...
    • Authentication and ...
    • CSRF Protection
    • Laravel Model
    • Database: Query Bui...
Routine Use
  • Linux
    • How to Delete a Fil...
    • Install lemp in ubu...
    • How to check packag...
    • Navigating the File...
    • Managing Files and ...
    • Viewing and Editing...
    • Managing Processes ...
    • Scheduling Tasks wi...
    • Disk Usage Analysis...
    • File and Directory ...
Blogs
  • Blogs
    • Free Hosting on AWS...
    • What is SEO?
    • Zoho Free Mail
    • Speed Up Your Appli...
    • What is a JavaScrip...
    • Laravel vs Lumen: T...
    • MySQL vs PostgreSQL...
    • Automate Free MySQL...
    • How to Use Google A...
    • What is n8n?
    • Cloud Platform Comp...
    • Top Common Mistakes...
    • PHP 8.5: The Pipeli...
    • Google Antigravity ...
    • How to Optimize Que...
    • React vs Angular vs...
    • Base44: Features, P...
    • Difference Between ...
    • HTTP Status Codes E...
    • Build Native Mobile...
    • Top 10 JavaScript F...
    • JIRA, Waterfall, an...
    • WebSockets in Moder...
    • A Complete Real-Wor...
    • Why Developers Shou...
    • Service-Based Compa...
    • Bootstrap vs Tailwi...
    • Direct Prompt vs St...
    • Top 25 SEO HTML Tag...
    • Docker Commands Che...
    • Authentication vs A...
    • Top AI Portals in 2...
    • What is Replit? Com...
    • Laravel 13 Released...