<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Java Developer Central</title>
    <link>https://javadevcentral.com/</link>
    <description>Recent content on Java Developer Central</description>
    <generator>Hugo -- 0.134.2</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 27 May 2024 12:38:00 +0530</lastBuildDate>
    <atom:link href="https://javadevcentral.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Google Guava Maps</title>
      <link>https://javadevcentral.com/google-guava-maps/</link>
      <pubDate>Mon, 27 May 2024 12:38:00 +0530</pubDate>
      <guid>https://javadevcentral.com/google-guava-maps/</guid>
      <description>Google Guava Maps has many static utility methods operating on Map instances (Map, SortedMap, NavigableMap, BiMap etc.,).</description>
    </item>
    <item>
      <title>Google Guava Collections2</title>
      <link>https://javadevcentral.com/google-guava-collections2/</link>
      <pubDate>Mon, 29 Apr 2024 12:33:00 +0530</pubDate>
      <guid>https://javadevcentral.com/google-guava-collections2/</guid>
      <description>The Collections2 utility class in the Google Guava library has four methods, viz., filter, transform, permutations and orderedPermutations.</description>
    </item>
    <item>
      <title>Google Guava Sets Utility Class</title>
      <link>https://javadevcentral.com/google-guava-sets-utility-class/</link>
      <pubDate>Mon, 25 Mar 2024 12:25:00 +0530</pubDate>
      <guid>https://javadevcentral.com/google-guava-sets-utility-class/</guid>
      <description>The Google Guava Sets utility class has static utility methods pertaining to Set instances. This post covers the methods from the Sets class.</description>
    </item>
    <item>
      <title>Apache Commons Lang ObjectUtils</title>
      <link>https://javadevcentral.com/apache-commons-lang-objectutils/</link>
      <pubDate>Mon, 26 Feb 2024 12:16:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-lang-objectutils/</guid>
      <description>The Apache Commons Lang ObjectUtils class from the Apache Commons Lang3 library has many static utility methods operating on Object instances.</description>
    </item>
    <item>
      <title>Apache Commons ComparatorUtils</title>
      <link>https://javadevcentral.com/apache-commons-comparatorutils/</link>
      <pubDate>Mon, 29 Jan 2024 12:05:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-comparatorutils/</guid>
      <description>The Apache Commons ComparatorUtils provides utils for creating and using comparators from org.apache.commons.collections4.comparators package.</description>
    </item>
    <item>
      <title>Apache Commons Collections SetUtils</title>
      <link>https://javadevcentral.com/apache-commons-collections-setutils/</link>
      <pubDate>Mon, 25 Dec 2023 11:56:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-collections-setutils/</guid>
      <description>The Apache Commons Collections SetUtils class has utility methods and decorators for Set and SortedSet instances.</description>
    </item>
    <item>
      <title>Apache Commons Collections ListUtils</title>
      <link>https://javadevcentral.com/apache-commons-collections-listutils/</link>
      <pubDate>Mon, 27 Nov 2023 11:47:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-collections-listutils/</guid>
      <description>In this post, we will explore all the utility methods and decorators for List instances in the Apache Commons Collections ListUtils class.</description>
    </item>
    <item>
      <title>Java Stream map operation</title>
      <link>https://javadevcentral.com/java-stream-map-operation/</link>
      <pubDate>Mon, 30 Oct 2023 11:38:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-stream-map-operation/</guid>
      <description>We use the Java Stream map (an intermediate operation) to map an element in a stream to a different value (of the same or different type).</description>
    </item>
    <item>
      <title>Java Stream min and max</title>
      <link>https://javadevcentral.com/java-stream-min-and-max/</link>
      <pubDate>Mon, 25 Sep 2023 11:33:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-stream-min-and-max/</guid>
      <description>In this post, we will learn about using Java Stream min and max methods to find the minimum and the maximum element in a Java Stream.</description>
    </item>
    <item>
      <title>Java Stream sorted operation</title>
      <link>https://javadevcentral.com/java-stream-sorted-operation/</link>
      <pubDate>Mon, 28 Aug 2023 11:23:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-stream-sorted-operation/</guid>
      <description>Using Java Stream sorted operation on a stream will return a stream with the elements of the stream sorted according to their natural order.</description>
    </item>
    <item>
      <title>Google Guava Converter</title>
      <link>https://javadevcentral.com/google-guava-converter/</link>
      <pubDate>Mon, 24 Jul 2023 18:57:00 +0530</pubDate>
      <guid>https://javadevcentral.com/google-guava-converter/</guid>
      <description>The Google Guava Converter class represents a function to convert a value of type A to a value of type B and in the reverse direction as well.</description>
    </item>
    <item>
      <title>Google Guava MoreObjects</title>
      <link>https://javadevcentral.com/google-guava-moreobjects/</link>
      <pubDate>Mon, 26 Jun 2023 18:51:00 +0530</pubDate>
      <guid>https://javadevcentral.com/google-guava-moreobjects/</guid>
      <description>The Google Guava MoreObjects has helper functions to operate on any Object. It has two static methods viz., firstNonNull and toStringHelper.</description>
    </item>
    <item>
      <title>Apache Commons Lang Diffable</title>
      <link>https://javadevcentral.com/apache-commons-lang-diffable/</link>
      <pubDate>Mon, 22 May 2023 18:35:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-lang-diffable/</guid>
      <description>We can use the Apache Commons Lang Diffable to compare two objects of the same class and find the differences among the values of all fields.</description>
    </item>
    <item>
      <title>Google Guava Maps difference</title>
      <link>https://javadevcentral.com/google-guava-maps-difference/</link>
      <pubDate>Mon, 17 Apr 2023 18:22:30 +0530</pubDate>
      <guid>https://javadevcentral.com/google-guava-maps-difference/</guid>
      <description>In this post, we will explore finding difference between two maps and how we can use the Google Guava’s Maps#difference method to do it.</description>
    </item>
    <item>
      <title>Apache Commons BidiMap</title>
      <link>https://javadevcentral.com/apache-commons-bidimap/</link>
      <pubDate>Mon, 13 Mar 2023 18:06:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-bidimap/</guid>
      <description>The Apache Commons BidiMap (a bidirectional map) is an interface using which we can perform a lookup on a map in either direction.</description>
    </item>
    <item>
      <title>Google Guava FluentIterable</title>
      <link>https://javadevcentral.com/google-guava-fluentiterable/</link>
      <pubDate>Mon, 13 Feb 2023 15:38:00 +0530</pubDate>
      <guid>https://javadevcentral.com/google-guava-fluentiterable/</guid>
      <description>In this post, we will learn about the Google Guava FluentIterable class which is a discouraged (but not deprecated) precursor to Java&amp;rsquo;s Stream library.</description>
    </item>
    <item>
      <title>Sealed Classes and Sealed Interfaces</title>
      <link>https://javadevcentral.com/sealed-classes-and-sealed-interfaces/</link>
      <pubDate>Mon, 30 Jan 2023 15:26:00 +0530</pubDate>
      <guid>https://javadevcentral.com/sealed-classes-and-sealed-interfaces/</guid>
      <description>Sealed classes and sealed interfaces in Java restrict which other classes or interfaces may extend or implement them.</description>
    </item>
    <item>
      <title>Java Stream Reduce</title>
      <link>https://javadevcentral.com/java-stream-reduce/</link>
      <pubDate>Mon, 02 Jan 2023 15:11:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-stream-reduce/</guid>
      <description>We use the Java Stream’s reduce method to reduce a stream of values to a single result. There are three overloaded Stream#reduce operation.</description>
    </item>
    <item>
      <title>A Complete Guide to Java Stream mapMulti</title>
      <link>https://javadevcentral.com/a-complete-guide-to-java-stream-mapmulti/</link>
      <pubDate>Thu, 22 Dec 2022 14:51:00 +0530</pubDate>
      <guid>https://javadevcentral.com/a-complete-guide-to-java-stream-mapmulti/</guid>
      <description>The Java Stream mapMulti method was added in Java 16. It allows us to replace each element in a Java Stream with one or more elements.</description>
    </item>
    <item>
      <title>Google Guava Table</title>
      <link>https://javadevcentral.com/google-guava-table/</link>
      <pubDate>Mon, 14 Nov 2022 12:51:00 +0530</pubDate>
      <guid>https://javadevcentral.com/google-guava-table/</guid>
      <description>The Google Guava Table, part of Google Guava Collections, allows us to map a value to two ordered keys, called the row key and the column key.</description>
    </item>
    <item>
      <title>Apache Commons Lang Mutable</title>
      <link>https://javadevcentral.com/apache-commons-lang-mutable/</link>
      <pubDate>Mon, 24 Oct 2022 12:36:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-lang-mutable/</guid>
      <description>Apache Commons Lang Mutable provides mutable access to a value. In this post, we will learn about the Apache Commons Lang Mutable Class.</description>
    </item>
    <item>
      <title>ThreadUtils from Apache Commons Lang</title>
      <link>https://javadevcentral.com/threadutils-from-apache-commons-lang/</link>
      <pubDate>Mon, 12 Sep 2022 12:21:00 +0530</pubDate>
      <guid>https://javadevcentral.com/threadutils-from-apache-commons-lang/</guid>
      <description>The ThreadUtils class from the Apache Commons Lang library has helper methods for working with Java threads and ThreadGroups.</description>
    </item>
    <item>
      <title>Record Class in Java</title>
      <link>https://javadevcentral.com/record-class-in-java/</link>
      <pubDate>Mon, 29 Aug 2022 12:05:10 +0530</pubDate>
      <guid>https://javadevcentral.com/record-class-in-java/</guid>
      <description>Record class in Java is a new kind of class introduced in Java to help us model simple data aggregates with less ceremony than a normal class.</description>
    </item>
    <item>
      <title>Enumutils From Apache Commons Lang</title>
      <link>https://javadevcentral.com/enumutils-from-apache-commons-lang/</link>
      <pubDate>Mon, 01 Aug 2022 11:57:00 +0530</pubDate>
      <guid>https://javadevcentral.com/enumutils-from-apache-commons-lang/</guid>
      <description>The EnumUtils class from Apache Commons Lang provides several static methods (helper methods) for working with Java enums.</description>
    </item>
    <item>
      <title>Command Design Pattern</title>
      <link>https://javadevcentral.com/command-design-pattern/</link>
      <pubDate>Mon, 04 Jul 2022 11:48:00 +0530</pubDate>
      <guid>https://javadevcentral.com/command-design-pattern/</guid>
      <description>The Command Design Pattern encapsulates a request as an object, thereby letting you parameterize other objects with different requests.</description>
    </item>
    <item>
      <title>CyclicBarrier in Java</title>
      <link>https://javadevcentral.com/cyclicbarrier-in-java/</link>
      <pubDate>Mon, 20 Jun 2022 11:01:00 +0530</pubDate>
      <guid>https://javadevcentral.com/cyclicbarrier-in-java/</guid>
      <description>A CyclicBarrier in Java is a synchronization aid which allows a set of threads to wait for each other until all threads reach a common point.</description>
    </item>
    <item>
      <title>CountDownLatch in Java</title>
      <link>https://javadevcentral.com/countdownlatch-in-java/</link>
      <pubDate>Mon, 30 May 2022 10:52:00 +0530</pubDate>
      <guid>https://javadevcentral.com/countdownlatch-in-java/</guid>
      <description>A CountDownLatch in Java is a synchronization aid which allows one or more threads to wait until something else happens (or gets completed).</description>
    </item>
    <item>
      <title>Arrays Utility Class in Java</title>
      <link>https://javadevcentral.com/arrays-utility-class-in-java/</link>
      <pubDate>Mon, 16 May 2022 10:34:00 +0530</pubDate>
      <guid>https://javadevcentral.com/arrays-utility-class-in-java/</guid>
      <description>The Arrays Utility class in Java has various methods for working with arrays. In this post, we will learn about the Arrays class in Java.</description>
    </item>
    <item>
      <title>Google Guava Lists Utility Class</title>
      <link>https://javadevcentral.com/google-guava-lists-utility-class/</link>
      <pubDate>Mon, 18 Apr 2022 10:27:00 +0530</pubDate>
      <guid>https://javadevcentral.com/google-guava-lists-utility-class/</guid>
      <description>The Google Guava Lists Utility class has static utility methods for working with a Java List. Let us learn about some useful methods from it.</description>
    </item>
    <item>
      <title>Java 18 Simple Web Server</title>
      <link>https://javadevcentral.com/java-18-simple-web-server/</link>
      <pubDate>Mon, 28 Mar 2022 19:16:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-18-simple-web-server/</guid>
      <description>In this post, we will learn about the Java 18 simple web server (command-line tool) released as part of JDK 18.</description>
    </item>
    <item>
      <title>Java Stream toArray</title>
      <link>https://javadevcentral.com/java-stream-toarray/</link>
      <pubDate>Tue, 15 Mar 2022 19:08:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-stream-toarray/</guid>
      <description>The Java stream toArray methods, which we learn in this post, allow us to collect/convert a stream into an array.</description>
    </item>
    <item>
      <title>Google Guava Functions</title>
      <link>https://javadevcentral.com/google-guava-functions/</link>
      <pubDate>Mon, 21 Feb 2022 18:55:00 +0530</pubDate>
      <guid>https://javadevcentral.com/google-guava-functions/</guid>
      <description>In this post, we will learn about the Google Guava Functions utility class which has static utility methods to work on Function instances.</description>
    </item>
    <item>
      <title>Google Guava Predicates</title>
      <link>https://javadevcentral.com/google-guava-predicates/</link>
      <pubDate>Tue, 15 Feb 2022 18:43:00 +0530</pubDate>
      <guid>https://javadevcentral.com/google-guava-predicates/</guid>
      <description>In this post, we will learn about the useful static utility methods from the Google Guava Predicates class.</description>
    </item>
    <item>
      <title>Apache Commons IO FileAlterationMonitor</title>
      <link>https://javadevcentral.com/apache-commons-io-filealterationmonitor/</link>
      <pubDate>Mon, 24 Jan 2022 18:35:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-io-filealterationmonitor/</guid>
      <description>Apache Commons IO FileAlterationMonitor is a runnable to notify the registered observers at specified time interval with file system changes</description>
    </item>
    <item>
      <title>Apache Commons IO FileAlterationObserver</title>
      <link>https://javadevcentral.com/apache-commons-io-filealterationobserver/</link>
      <pubDate>Wed, 12 Jan 2022 18:22:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-io-filealterationobserver/</guid>
      <description>In this post, we learn about the Apache Commons IO FileAlterationObserver - using which we can observe the state of files and directories.</description>
    </item>
    <item>
      <title>PeekingIterator and AbstractIterator from Google Guava</title>
      <link>https://javadevcentral.com/peekingiterator-and-abstractiterator-from-google-guava/</link>
      <pubDate>Mon, 03 Jan 2022 18:15:00 +0530</pubDate>
      <guid>https://javadevcentral.com/peekingiterator-and-abstractiterator-from-google-guava/</guid>
      <description>In this post, we will learn about the PeekingIterator and AbstractIterator classes from Google Guava library.</description>
    </item>
    <item>
      <title>Suppliers Utility Class in Google Guava</title>
      <link>https://javadevcentral.com/suppliers-utility-class-in-google-guava/</link>
      <pubDate>Tue, 28 Dec 2021 18:08:00 +0530</pubDate>
      <guid>https://javadevcentral.com/suppliers-utility-class-in-google-guava/</guid>
      <description>The Suppliers class provides useful methods for working with a Supplier. In this post, we see the Suppliers utility class in Google Guava.</description>
    </item>
    <item>
      <title>PrimitiveIterator in Java</title>
      <link>https://javadevcentral.com/primitiveiterator-in-java/</link>
      <pubDate>Wed, 22 Dec 2021 17:04:00 +0530</pubDate>
      <guid>https://javadevcentral.com/primitiveiterator-in-java/</guid>
      <description>A PrimitiveIterator in Java is an interface for the primitive specializations of an Iterator. In this post, we will learn about the PrimitiveIterator, its subclasses and its uses.</description>
    </item>
    <item>
      <title>Google Guava CharMatcher</title>
      <link>https://javadevcentral.com/google-guava-charmatcher/</link>
      <pubDate>Mon, 06 Dec 2021 16:24:00 +0530</pubDate>
      <guid>https://javadevcentral.com/google-guava-charmatcher/</guid>
      <description>Google Guava CharMatcher class is a Predicate for a character value. It also has basic text processing methods.</description>
    </item>
    <item>
      <title>Apache Commons Lang CharSet and CharSetUtils</title>
      <link>https://javadevcentral.com/apache-commons-lang-charset-and-charsetutils/</link>
      <pubDate>Mon, 22 Nov 2021 16:17:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-lang-charset-and-charsetutils/</guid>
      <description>The Apache Commons Lang CharSet represents a set of characters. This post covers the Apache Commons Lang CharSet and CharSetUtils class.</description>
    </item>
    <item>
      <title>Apache Commons Lang RandomStringUtils</title>
      <link>https://javadevcentral.com/apache-commons-lang-randomstringutils/</link>
      <pubDate>Mon, 08 Nov 2021 16:09:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-lang-randomstringutils/</guid>
      <description>We will learn about the Apache Commons Lang RandomStringUtils class for generating random strings for simple use cases in this post.</description>
    </item>
    <item>
      <title>New Methods in the String Class – Java 11 and 12</title>
      <link>https://javadevcentral.com/new-methods-in-the-string-class-java-11-12/</link>
      <pubDate>Mon, 11 Oct 2021 15:12:00 +0530</pubDate>
      <guid>https://javadevcentral.com/new-methods-in-the-string-class-java-11-12/</guid>
      <description>A few useful methods have been added to the String class in Java 11 and 12. Let us learn about the new methods in the String class in Java.</description>
    </item>
    <item>
      <title>Google Guava Streams</title>
      <link>https://javadevcentral.com/google-guava-streams/</link>
      <pubDate>Mon, 27 Sep 2021 15:04:00 +0530</pubDate>
      <guid>https://javadevcentral.com/google-guava-streams/</guid>
      <description>Google Guava offers many utility methods to simplify the coding. In this post, we will learn about the utilities in the Google Guava Streams.</description>
    </item>
    <item>
      <title>Google Guava Comparators</title>
      <link>https://javadevcentral.com/google-guava-comparators/</link>
      <pubDate>Mon, 20 Sep 2021 14:54:00 +0530</pubDate>
      <guid>https://javadevcentral.com/google-guava-comparators/</guid>
      <description>Google Guava library has a class called Comparators, which provides static methods for working with Java Comparator instances.</description>
    </item>
    <item>
      <title>Apache Commons Lang Pair</title>
      <link>https://javadevcentral.com/apache-commons-lang-pair/</link>
      <pubDate>Mon, 13 Sep 2021 14:45:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-lang-pair/</guid>
      <description>In this post, we will learn about Apache Commons Lang Pair class. We use this class when we have a need to manage one or more pair of values.</description>
    </item>
    <item>
      <title>Apache Commons Text WordUtils</title>
      <link>https://javadevcentral.com/apache-commons-text-wordutils/</link>
      <pubDate>Mon, 30 Aug 2021 14:02:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-text-wordutils/</guid>
      <description>The Apache Commons Text WordUtils class has many static utility methods to perform operations on strings that contain words.</description>
    </item>
    <item>
      <title>Collectors mapping in Java</title>
      <link>https://javadevcentral.com/collectors-mapping-in-java/</link>
      <pubDate>Mon, 23 Aug 2021 13:56:00 +0530</pubDate>
      <guid>https://javadevcentral.com/collectors-mapping-in-java/</guid>
      <description>Collectors mapping in Java is a static method in the Collectors class. In this post, we will learn about the mapping method in Collectors.</description>
    </item>
    <item>
      <title>Comparator naturalOrder, reverseOrder and reversed</title>
      <link>https://javadevcentral.com/comparator-naturalorder-reverseorder-reversed/</link>
      <pubDate>Mon, 26 Jul 2021 12:26:00 +0530</pubDate>
      <guid>https://javadevcentral.com/comparator-naturalorder-reverseorder-reversed/</guid>
      <description>As a follow up of the Comparator comparing post, here we will learn about the Comparator naturalOrder, reverseOrder and reversed methods.</description>
    </item>
    <item>
      <title>Static Utility Methods in Objects</title>
      <link>https://javadevcentral.com/static-utility-methods-in-objects/</link>
      <pubDate>Sun, 04 Jul 2021 12:20:00 +0530</pubDate>
      <guid>https://javadevcentral.com/static-utility-methods-in-objects/</guid>
      <description>The Objects class has many useful static utility methods. In this post we will learn about the static utility methods in the Objects class.</description>
    </item>
    <item>
      <title>Functional Interfaces in Java – Functions</title>
      <link>https://javadevcentral.com/functional-interfaces-in-java-functions/</link>
      <pubDate>Sun, 06 Jun 2021 12:11:00 +0530</pubDate>
      <guid>https://javadevcentral.com/functional-interfaces-in-java-functions/</guid>
      <description>In this post, we will learn about the functional interface in Java for functions present as part of the java.util.function namespace.</description>
    </item>
    <item>
      <title>OptionalInt, OptionalLong and OptionalDouble in Java</title>
      <link>https://javadevcentral.com/optionalint-optionallong-and-optionaldouble/</link>
      <pubDate>Mon, 10 May 2021 12:03:00 +0530</pubDate>
      <guid>https://javadevcentral.com/optionalint-optionallong-and-optionaldouble/</guid>
      <description>The OptionalInt, OptionalLong and OptionalDouble in Java are container objects which may contain a int, long and double value respectively.</description>
    </item>
    <item>
      <title>StringTokenizer in Java</title>
      <link>https://javadevcentral.com/stringtokenizer-in-java/</link>
      <pubDate>Mon, 19 Apr 2021 11:55:00 +0530</pubDate>
      <guid>https://javadevcentral.com/stringtokenizer-in-java/</guid>
      <description>The StringTokenizer helps to break a string into tokens with a specified delimiter. In this post, we will learn about StringTokenizer in Java.</description>
    </item>
    <item>
      <title>Java DoubleStream – A Complete Guide</title>
      <link>https://javadevcentral.com/java-doublestream-a-complete-guide/</link>
      <pubDate>Mon, 05 Apr 2021 10:26:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-doublestream-a-complete-guide/</guid>
      <description>A Java DoubleStream is a sequence of double-valued elements that supports sequential and parallel aggregate operations.</description>
    </item>
    <item>
      <title>Default Methods in Java Map</title>
      <link>https://javadevcentral.com/default-methods-in-java-map/</link>
      <pubDate>Mon, 22 Mar 2021 20:09:00 +0530</pubDate>
      <guid>https://javadevcentral.com/default-methods-in-java-map/</guid>
      <description>Many JDK interfaces were enhanced with default methods in Java 8. In this post we will learn about the default methods in the Java Map interface.</description>
    </item>
    <item>
      <title>Apache Commons Lang Validate</title>
      <link>https://javadevcentral.com/apache-commons-lang-validate/</link>
      <pubDate>Tue, 16 Mar 2021 21:02:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-lang-validate/</guid>
      <description>The Apache Commons Lang Validate class in the Apache Commons Lang library helps in validating arguments to a method (or a constructor)</description>
    </item>
    <item>
      <title>Apache Commons Lang Range</title>
      <link>https://javadevcentral.com/apache-commons-lang-range/</link>
      <pubDate>Mon, 01 Mar 2021 21:54:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-lang-range/</guid>
      <description>The Apache Commons Lang library provides utility classes and methods. In the post we will learn about the Apache Commons Lang Range class.</description>
    </item>
    <item>
      <title>Immutable Collections Using Collectors</title>
      <link>https://javadevcentral.com/immutable-collections-using-collectors/</link>
      <pubDate>Mon, 22 Feb 2021 22:48:00 +0530</pubDate>
      <guid>https://javadevcentral.com/immutable-collections-using-collectors/</guid>
      <description>In Java 10, the Collectors has static utility methods to return collectors which collect the stream elements into an immutable collection.</description>
    </item>
    <item>
      <title>Java Collections Utility Methods</title>
      <link>https://javadevcentral.com/java-collections-utility-methods/</link>
      <pubDate>Mon, 15 Feb 2021 22:36:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-collections-utility-methods/</guid>
      <description>In this post we will learn about the various Java Collections Utility methods that operate on collections or return collections.</description>
    </item>
    <item>
      <title>Collectors collectingAndThen</title>
      <link>https://javadevcentral.com/collectors-collectingandthen/</link>
      <pubDate>Mon, 01 Feb 2021 22:29:00 +0530</pubDate>
      <guid>https://javadevcentral.com/collectors-collectingandthen/</guid>
      <description>Collectors collectingAndThen returns a new Collector that adapts a passed Collector to perform a finishing transformation function.</description>
    </item>
    <item>
      <title>Apache Commons Lang ComparableUtils</title>
      <link>https://javadevcentral.com/apache-commons-lang-comparableutils/</link>
      <pubDate>Mon, 18 Jan 2021 18:27:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-lang-comparableutils/</guid>
      <description>The Apache Commons Lang ComparableUtils has utility methods for translating a Comparable result into a boolean represented as a Predicate.</description>
    </item>
    <item>
      <title>Immutable Collections in Google Guava</title>
      <link>https://javadevcentral.com/immutable-collections-in-google-guava/</link>
      <pubDate>Mon, 11 Jan 2021 18:21:00 +0530</pubDate>
      <guid>https://javadevcentral.com/immutable-collections-in-google-guava/</guid>
      <description>Google Guava provides ways to create Immutable Collections. In this post, we will learn to create immutable collections using Google Guava.</description>
    </item>
    <item>
      <title>Enummap in Java</title>
      <link>https://javadevcentral.com/enummap-in-java/</link>
      <pubDate>Tue, 29 Dec 2020 18:15:00 +0530</pubDate>
      <guid>https://javadevcentral.com/enummap-in-java/</guid>
      <description>An EnumMap in Java is a specialized map implementation for use with enum type as the keys. In this post, we will learn EnumMaps in Java.</description>
    </item>
    <item>
      <title>Six Ways to Convert a Java Stream to a List</title>
      <link>https://javadevcentral.com/six-ways-to-convert-a-java-stream-to-a-list/</link>
      <pubDate>Mon, 14 Dec 2020 18:09:00 +0530</pubDate>
      <guid>https://javadevcentral.com/six-ways-to-convert-a-java-stream-to-a-list/</guid>
      <description>In this post, we will see six ways to convert a Java stream to a List. You can extend these if you want to convert a stream to a Set as well.</description>
    </item>
    <item>
      <title>Java 8 LongStream – A Complete Guide</title>
      <link>https://javadevcentral.com/java-8-longstream/</link>
      <pubDate>Tue, 08 Dec 2020 17:59:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-8-longstream/</guid>
      <description>The Java 8 LongStream is a sequence of primitive long-valued elements and is a long primitive specialization of Stream.</description>
    </item>
    <item>
      <title>Collectors Joining in Java 8</title>
      <link>https://javadevcentral.com/collectors-joining-in-java-8/</link>
      <pubDate>Mon, 30 Nov 2020 17:49:00 +0530</pubDate>
      <guid>https://javadevcentral.com/collectors-joining-in-java-8/</guid>
      <description>Collectors.joining returns a Collector which concatenates the stream elements separated by a delimiter, prefix and suffix in encounter order.</description>
    </item>
    <item>
      <title>Java 8 StringJoiner With Examples</title>
      <link>https://javadevcentral.com/java-8-stringjoiner-with-examples/</link>
      <pubDate>Mon, 23 Nov 2020 17:39:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-8-stringjoiner-with-examples/</guid>
      <description>Java 8 StringJoiner class can be used to build a sequence of characters that are separated by a configured delimiter, prefix and a suffix.</description>
    </item>
    <item>
      <title>4 Ways to throw Checked Exceptions in Java Streams</title>
      <link>https://javadevcentral.com/throw-checked-exceptions-in-java-streams/</link>
      <pubDate>Tue, 17 Nov 2020 13:34:00 +0530</pubDate>
      <guid>https://javadevcentral.com/throw-checked-exceptions-in-java-streams/</guid>
      <description>This post shows 4 ways to throw checked exceptions in Java streams i.e., having a lambda expression that can throw checked exception(s).</description>
    </item>
    <item>
      <title>Java Stream Distinct by Property</title>
      <link>https://javadevcentral.com/java-stream-distinct-by-property/</link>
      <pubDate>Mon, 09 Nov 2020 13:27:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-stream-distinct-by-property/</guid>
      <description>Java Streams has a distinct method which removes duplicates by object&amp;rsquo;s equal method. This post explains ways to apply distinct by a property.</description>
    </item>
    <item>
      <title>Java Stream Distinct with Examples</title>
      <link>https://javadevcentral.com/java-stream-distinct/</link>
      <pubDate>Mon, 02 Nov 2020 12:15:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-stream-distinct/</guid>
      <description>The Java Stream Distinct is a stateful intermediate operation which returns a new stream which has only the distinct elements in it.</description>
    </item>
    <item>
      <title>Java 8 Stream – FindFirst and FindAny</title>
      <link>https://javadevcentral.com/java-8-findfirst-findany/</link>
      <pubDate>Mon, 26 Oct 2020 12:08:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-8-findfirst-findany/</guid>
      <description>The Java 8 Streams has findFirst and findAny methods which will return the first element and an arbitrary element from a stream respectively.</description>
    </item>
    <item>
      <title>Prototype Design Pattern</title>
      <link>https://javadevcentral.com/prototype-design-pattern/</link>
      <pubDate>Mon, 19 Oct 2020 12:05:00 +0530</pubDate>
      <guid>https://javadevcentral.com/prototype-design-pattern/</guid>
      <description>The Prototype Pattern specifies the kind of objects to create using a prototypical instance and create new objects by copying this prototype</description>
    </item>
    <item>
      <title>Flyweight Design Pattern</title>
      <link>https://javadevcentral.com/flyweight-design-pattern/</link>
      <pubDate>Mon, 12 Oct 2020 11:49:00 +0530</pubDate>
      <guid>https://javadevcentral.com/flyweight-design-pattern/</guid>
      <description>The Flyweight design pattern allows us to use sharing to support a large number of fine-grained objects efficiently in an application.</description>
    </item>
    <item>
      <title>Java 8 Streams – anyMatch, allMatch, and noneMatch</title>
      <link>https://javadevcentral.com/anymatch-allmatch-and-nonematch/</link>
      <pubDate>Mon, 05 Oct 2020 11:12:00 +0530</pubDate>
      <guid>https://javadevcentral.com/anymatch-allmatch-and-nonematch/</guid>
      <description>This post is on the anyMatch, allMatch and noneMatch methods which are short-circuiting terminal operations on a Java Stream.</description>
    </item>
    <item>
      <title>Function Chaining in Java</title>
      <link>https://javadevcentral.com/function-chaining-in-java/</link>
      <pubDate>Tue, 29 Sep 2020 11:00:00 +0530</pubDate>
      <guid>https://javadevcentral.com/function-chaining-in-java/</guid>
      <description>A Function is primarily used along with the map operation on a Java stream. In this post, we will learn about Function chaining in Java 8.</description>
    </item>
    <item>
      <title>Predicate Chaining in Java</title>
      <link>https://javadevcentral.com/predicate-chaining-in-java/</link>
      <pubDate>Mon, 21 Sep 2020 10:52:00 +0530</pubDate>
      <guid>https://javadevcentral.com/predicate-chaining-in-java/</guid>
      <description>We have used a Predicate in a Java stream. This post covers the methods in Predicate class which allow us to do Predicate chaining in Java 8.</description>
    </item>
    <item>
      <title>Apache Commons CLI</title>
      <link>https://javadevcentral.com/apache-commons-cli/</link>
      <pubDate>Mon, 14 Sep 2020 10:37:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-cli/</guid>
      <description>The Apache Commons CLI is a library that provides API for parsing command-line options/arguments which we pass to programs.</description>
    </item>
    <item>
      <title>Java Stream takeWhile and dropWhile</title>
      <link>https://javadevcentral.com/java-stream-takewhile-and-dropwhile/</link>
      <pubDate>Mon, 07 Sep 2020 22:08:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-stream-takewhile-and-dropwhile/</guid>
      <description>The Java Stream takeWhile and dropWhile methods allow to return or drop a prefix/subset of elements in a stream based on a passed predicate.</description>
    </item>
    <item>
      <title>Seven Ways to Create a Stream in Java</title>
      <link>https://javadevcentral.com/seven-ways-to-create-a-stream-in-java/</link>
      <pubDate>Mon, 31 Aug 2020 12:05:00 +0530</pubDate>
      <guid>https://javadevcentral.com/seven-ways-to-create-a-stream-in-java/</guid>
      <description>A Stream is a sequence of elements supporting sequential and parallel aggregate operations. We will see seven ways to create a Stream in Java</description>
    </item>
    <item>
      <title>State Design Pattern</title>
      <link>https://javadevcentral.com/state-design-pattern/</link>
      <pubDate>Tue, 25 Aug 2020 22:46:00 +0530</pubDate>
      <guid>https://javadevcentral.com/state-design-pattern/</guid>
      <description>The State Design Pattern allows an object to alter its behavior when its internal state changes. The object will appear to change its class.</description>
    </item>
    <item>
      <title>Apache Commons FileUtils – Directory operations</title>
      <link>https://javadevcentral.com/apache-commons-fileutils-directory-operations/</link>
      <pubDate>Mon, 17 Aug 2020 22:35:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-fileutils-directory-operations/</guid>
      <description>Apache Commons FileUtils has utility methods for file and directory manipulation. This post is on Apache Commons IO FileUtils directory operations.</description>
    </item>
    <item>
      <title>Apache Commons FileUtils – File Operations</title>
      <link>https://javadevcentral.com/apache-commons-fileutils-file-operations/</link>
      <pubDate>Mon, 10 Aug 2020 22:23:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-fileutils-file-operations/</guid>
      <description>Apache Commons FileUtils has utility methods for file and directory manipulation. This post is on Apache Commons FileUtils file manipulation</description>
    </item>
    <item>
      <title>Collectors minBy and maxBy</title>
      <link>https://javadevcentral.com/collectors-minby-and-maxby/</link>
      <pubDate>Mon, 03 Aug 2020 19:54:00 +0530</pubDate>
      <guid>https://javadevcentral.com/collectors-minby-and-maxby/</guid>
      <description>Collectors minBy and maxBy return a Collector that produces the minimal and maximal element according to a given Comparator</description>
    </item>
    <item>
      <title>Comparator nullsFirst and nullsLast</title>
      <link>https://javadevcentral.com/comparator-nullsfirst-and-nullslast/</link>
      <pubDate>Mon, 27 Jul 2020 18:41:00 +0530</pubDate>
      <guid>https://javadevcentral.com/comparator-nullsfirst-and-nullslast/</guid>
      <description>Comparator nullsFirst and nullsLast methods returns a null-friendly comparator. It considers null to be less than or greater than any non-null value.</description>
    </item>
    <item>
      <title>Summary Statistics in Java 8</title>
      <link>https://javadevcentral.com/summary-statistics-in-java-8/</link>
      <pubDate>Mon, 20 Jul 2020 18:31:00 +0530</pubDate>
      <guid>https://javadevcentral.com/summary-statistics-in-java-8/</guid>
      <description>Java 8 added three Summary Statistics classes viz., IntSummaryStatistics LongSummaryStatistics and DoubleSummaryStatistics used to collect statistics.</description>
    </item>
    <item>
      <title>Apache Commons IOUtils</title>
      <link>https://javadevcentral.com/apache-commons-ioutils/</link>
      <pubDate>Tue, 14 Jul 2020 18:19:00 +0530</pubDate>
      <guid>https://javadevcentral.com/apache-commons-ioutils/</guid>
      <description>The Apache Commons IO has utilities to help with various IO functionalities. In this post, we will see about the Apache Commons IO IOUtils class.</description>
    </item>
    <item>
      <title>Priority Queue in Java</title>
      <link>https://javadevcentral.com/priority-queue-in-java/</link>
      <pubDate>Mon, 06 Jul 2020 18:09:00 +0530</pubDate>
      <guid>https://javadevcentral.com/priority-queue-in-java/</guid>
      <description>A Priority Queue is an unbounded queue based on a priority heap. The elements are ordered according to their natural ordering or by a Comparator provided.</description>
    </item>
    <item>
      <title>Bridge Design Pattern</title>
      <link>https://javadevcentral.com/bridge-design-pattern/</link>
      <pubDate>Mon, 29 Jun 2020 18:01:00 +0530</pubDate>
      <guid>https://javadevcentral.com/bridge-design-pattern/</guid>
      <description>The Bridge Design Pattern decouples an abstraction from its implementation so that the two can vary independently. This pattern is also known as Handle/Body.</description>
    </item>
    <item>
      <title>Collectors partitioningBy in Java</title>
      <link>https://javadevcentral.com/collectors-partitioningby-in-java/</link>
      <pubDate>Mon, 22 Jun 2020 17:05:00 +0530</pubDate>
      <guid>https://javadevcentral.com/collectors-partitioningby-in-java/</guid>
      <description>The Collectors partitioningBy method in the Collectors class groups the elements of a stream by a predicate and an optional downstream collector</description>
    </item>
    <item>
      <title>Three Ways to Sum a Stream of Numbers</title>
      <link>https://javadevcentral.com/java-stream-sum/</link>
      <pubDate>Mon, 15 Jun 2020 16:56:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-stream-sum/</guid>
      <description>In this post, we will see the three ways to sum a stream of numbers (using Java streams). We use the mapToInt, reduce, and collect methods.</description>
    </item>
    <item>
      <title>Composite Design Pattern</title>
      <link>https://javadevcentral.com/composite-design-pattern/</link>
      <pubDate>Mon, 08 Jun 2020 16:46:00 +0530</pubDate>
      <guid>https://javadevcentral.com/composite-design-pattern/</guid>
      <description>The Composite Design Pattern composes objects into tree structures to represent part-whole hierarchies and lets clients treat individual objects and compositions of objects uniformly.</description>
    </item>
    <item>
      <title>Collectors filtering, flatMapping and teeing</title>
      <link>https://javadevcentral.com/collectors-new-methods-jdk-9-to-11/</link>
      <pubDate>Mon, 01 Jun 2020 16:36:00 +0530</pubDate>
      <guid>https://javadevcentral.com/collectors-new-methods-jdk-9-to-11/</guid>
      <description>In this post, we will learn about the new methods added to the Java Collectors from Java 9 to 11 (Collectors filtering, flatMapping and teeing).</description>
    </item>
    <item>
      <title>Default Method Resolution Rules</title>
      <link>https://javadevcentral.com/default-method-resolution-rules/</link>
      <pubDate>Mon, 25 May 2020 16:24:00 +0530</pubDate>
      <guid>https://javadevcentral.com/default-method-resolution-rules/</guid>
      <description>This post covers the default method resolution rules. These will be used when a class inherits more than one method with the same signature.</description>
    </item>
    <item>
      <title>Files WalkFileTree</title>
      <link>https://javadevcentral.com/files-walk-file-tree/</link>
      <pubDate>Mon, 18 May 2020 16:09:00 +0530</pubDate>
      <guid>https://javadevcentral.com/files-walk-file-tree/</guid>
      <description>The Files.walkFileTree static method from the NIO Files class is used to walk a file tree. The walk traverses the directory tree in a depth-first order.</description>
    </item>
    <item>
      <title>Java NIO Files Directory</title>
      <link>https://javadevcentral.com/java-nio-files-part-2/</link>
      <pubDate>Mon, 11 May 2020 15:51:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-nio-files-part-2/</guid>
      <description>The Java NIO Files class has static utility methods that operate on files and directories. In this post, we learn about the common operations on directories</description>
    </item>
    <item>
      <title>Java NIO Files – Part I</title>
      <link>https://javadevcentral.com/java-nio-files-part-1/</link>
      <pubDate>Tue, 05 May 2020 15:33:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-nio-files-part-1/</guid>
      <description>The Java NIO Files class has static utility methods that operate on files and directories. This post covers the NIO operations on files.</description>
    </item>
    <item>
      <title>Convenience Factory Methods for Collections</title>
      <link>https://javadevcentral.com/convenience-factory-methods-for-collections/</link>
      <pubDate>Mon, 27 Apr 2020 11:39:00 +0530</pubDate>
      <guid>https://javadevcentral.com/convenience-factory-methods-for-collections/</guid>
      <description>Java 9 introduced the Convenience Factory Methods for Collections that make it convenient to create instances of collections or maps with few elements</description>
    </item>
    <item>
      <title>Preconditions in Google Guava</title>
      <link>https://javadevcentral.com/preconditions-in-google-guava/</link>
      <pubDate>Tue, 21 Apr 2020 11:20:00 +0530</pubDate>
      <guid>https://javadevcentral.com/preconditions-in-google-guava/</guid>
      <description>Preconditions in the Google Guava offers static utility methods that will help us write one-line statements for doing precondition validations.</description>
    </item>
    <item>
      <title>Measuring Elapsed Time in Java Using a Stopwatch</title>
      <link>https://javadevcentral.com/measuring-elapsed-time-using-a-stopwatch/</link>
      <pubDate>Mon, 13 Apr 2020 17:08:00 +0530</pubDate>
      <guid>https://javadevcentral.com/measuring-elapsed-time-using-a-stopwatch/</guid>
      <description>This post is about measuring elapsed time in Java using a Stopwatch. We will over cover the Stopwatch from Google Guava and the Apache Commons lang.</description>
    </item>
    <item>
      <title>Default Methods in Java</title>
      <link>https://javadevcentral.com/default-methods-in-java/</link>
      <pubDate>Mon, 06 Apr 2020 10:53:00 +0530</pubDate>
      <guid>https://javadevcentral.com/default-methods-in-java/</guid>
      <description>Default methods in Java enable us to add new functionality to the interfaces of our libraries without breaking the existing implementations of the interface</description>
    </item>
    <item>
      <title>ListIterator in Java with examples</title>
      <link>https://javadevcentral.com/listiterator-in-java-with-examples/</link>
      <pubDate>Mon, 30 Mar 2020 15:36:00 +0530</pubDate>
      <guid>https://javadevcentral.com/listiterator-in-java-with-examples/</guid>
      <description>A ListIterator in Java is an Iterator that allows us to traverse the list in either direction, modify the list during iteration, and obtain the iterator&amp;rsquo;s current position in the list.</description>
    </item>
    <item>
      <title>Mediator Design Pattern</title>
      <link>https://javadevcentral.com/mediator-design-pattern/</link>
      <pubDate>Mon, 23 Mar 2020 21:46:00 +0530</pubDate>
      <guid>https://javadevcentral.com/mediator-design-pattern/</guid>
      <description>Mediator Design Pattern defines an object that encapsulates how a set of objects interact and keeps the objects from referring to each other explicitly.</description>
    </item>
    <item>
      <title>BiMap in Google Guava</title>
      <link>https://javadevcentral.com/bimap-in-google-guava/</link>
      <pubDate>Tue, 17 Mar 2020 13:36:00 +0530</pubDate>
      <guid>https://javadevcentral.com/bimap-in-google-guava/</guid>
      <description>The BiMap in Google Guava is a bidirectional map that preserves the uniqueness of values and keys. This allows us to lookup by value in the map too.</description>
    </item>
    <item>
      <title>Memento Design Pattern</title>
      <link>https://javadevcentral.com/memento-design-pattern/</link>
      <pubDate>Mon, 09 Mar 2020 21:26:00 +0530</pubDate>
      <guid>https://javadevcentral.com/memento-design-pattern/</guid>
      <description>The Memento Design Pattern allows to capture and externalize an object’s internal state so that the object can be restored later without violating encapsulation</description>
    </item>
    <item>
      <title>Effective Java&#39;s Builder Pattern</title>
      <link>https://javadevcentral.com/effective-java-builder-pattern/</link>
      <pubDate>Mon, 02 Mar 2020 22:19:00 +0530</pubDate>
      <guid>https://javadevcentral.com/effective-java-builder-pattern/</guid>
      <description>Introduction In the last post, I wrote about the Gang of Four (GoF) Builder Design Pattern. In this post, we will look at the builder pattern from the Effective Java…</description>
    </item>
    <item>
      <title>Builder Design Pattern</title>
      <link>https://javadevcentral.com/builder-design-pattern/</link>
      <pubDate>Tue, 25 Feb 2020 21:09:00 +0530</pubDate>
      <guid>https://javadevcentral.com/builder-design-pattern/</guid>
      <description>The builder design pattern separates the construction of an object from its representation so that the same process can create different representations.</description>
    </item>
    <item>
      <title>Multimap in Google Guava</title>
      <link>https://javadevcentral.com/multimap-in-google-guava/</link>
      <pubDate>Tue, 18 Feb 2020 20:55:00 +0530</pubDate>
      <guid>https://javadevcentral.com/multimap-in-google-guava/</guid>
      <description>A Multimap is a map but it can map multiple values against a key. In this post, we will look at a related class of Multiset - the Multimap in Google Guava.</description>
    </item>
    <item>
      <title>Chain of Responsibility</title>
      <link>https://javadevcentral.com/chain-of-responsibility/</link>
      <pubDate>Tue, 11 Feb 2020 20:42:00 +0530</pubDate>
      <guid>https://javadevcentral.com/chain-of-responsibility/</guid>
      <description>The chain of responsibility design pattern chains the receiving objects and pass the request along the chain until an object handles it.</description>
    </item>
    <item>
      <title>Multiset in Google Guava – A Complete Guide</title>
      <link>https://javadevcentral.com/multiset-in-google-guava/</link>
      <pubDate>Tue, 04 Feb 2020 21:25:00 +0530</pubDate>
      <guid>https://javadevcentral.com/multiset-in-google-guava/</guid>
      <description>A Multiset in Google Guava is a collection that supports order-independent equality (behaves like a Set). But it can have duplicate elements.</description>
    </item>
    <item>
      <title>JMH Benchmark With Examples</title>
      <link>https://javadevcentral.com/jmh-benchmark-with-examples/</link>
      <pubDate>Tue, 28 Jan 2020 14:12:00 +0530</pubDate>
      <guid>https://javadevcentral.com/jmh-benchmark-with-examples/</guid>
      <description>JMH (Java Microbenchmark Harness) is a Java harness library for writing benchmarks on the JVM. In this post, we will learn about JVM benchmark.</description>
    </item>
    <item>
      <title>Java 8 Streams Are Not Completely Lazy</title>
      <link>https://javadevcentral.com/java-8-streams-are-not-completely-lazy/</link>
      <pubDate>Mon, 20 Jan 2020 20:45:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-8-streams-are-not-completely-lazy/</guid>
      <description>Java 8 streams are lazy. The intermediate operations will not be executed till a terminal operation is invoked. But, Java 8 streams flatMap are not lazy.</description>
    </item>
    <item>
      <title>Facade Design Pattern</title>
      <link>https://javadevcentral.com/facade-design-pattern/</link>
      <pubDate>Wed, 15 Jan 2020 20:35:00 +0530</pubDate>
      <guid>https://javadevcentral.com/facade-design-pattern/</guid>
      <description>The Facade Design Pattern provides a unified interface to a set of interfaces in a subsystem. It defines a higher level interface that makes the subsystem easier to use.</description>
    </item>
    <item>
      <title>Enumeration and Iterator in Java</title>
      <link>https://javadevcentral.com/enumeration-and-iterator-in-java/</link>
      <pubDate>Tue, 07 Jan 2020 20:22:00 +0530</pubDate>
      <guid>https://javadevcentral.com/enumeration-and-iterator-in-java/</guid>
      <description>Java has two ways to iterate over the elements of a collection - using an Enumeration and an Iterator. This post explains Enumeration and Iterators in Java.</description>
    </item>
    <item>
      <title>Adapter Design Pattern</title>
      <link>https://javadevcentral.com/adapter-design-pattern/</link>
      <pubDate>Mon, 30 Dec 2019 19:01:00 +0530</pubDate>
      <guid>https://javadevcentral.com/adapter-design-pattern/</guid>
      <description>The Adapter Design Pattern converts an interface into another interface that the clients expect. It adapts an interface to look like a different interface.</description>
    </item>
    <item>
      <title>Write CSV Files Using Apache Commons CSV</title>
      <link>https://javadevcentral.com/write-csv-files-using-apache-commons-csv/</link>
      <pubDate>Tue, 24 Dec 2019 17:48:00 +0530</pubDate>
      <guid>https://javadevcentral.com/write-csv-files-using-apache-commons-csv/</guid>
      <description>Apache Commons CSV is one of the components in the Apache Commons project. This post is on how to write CSV files using Apache Commons CSV.</description>
    </item>
    <item>
      <title>Naive Benchmarking Framework in Java</title>
      <link>https://javadevcentral.com/naive-benchmarking-framework-in-java/</link>
      <pubDate>Mon, 16 Dec 2019 18:33:00 +0530</pubDate>
      <guid>https://javadevcentral.com/naive-benchmarking-framework-in-java/</guid>
      <description>In this post, let us build on our previous benchmarking attempt to arrive at a better but still a naive benchmarking framework in Java.</description>
    </item>
    <item>
      <title>Measuring Code Execution Time - The Wrong Way</title>
      <link>https://javadevcentral.com/measuring-execution-time-the-wrong-way/</link>
      <pubDate>Tue, 10 Dec 2019 17:26:00 +0530</pubDate>
      <guid>https://javadevcentral.com/measuring-execution-time-the-wrong-way/</guid>
      <description>In this post, I explain the usual way in measuring the execution or running time of code in Java, what is wrong with it and why it shouldn&amp;rsquo;t be used.</description>
    </item>
    <item>
      <title>Collectors toMap Duplicate Key</title>
      <link>https://javadevcentral.com/collectors-tomap-duplicate-key/</link>
      <pubDate>Mon, 02 Dec 2019 16:40:00 +0530</pubDate>
      <guid>https://javadevcentral.com/collectors-tomap-duplicate-key/</guid>
      <description>This post shows the Collectors toMap duplicate key exception and the changes made in Java 9 to improve the exception message to contain the value of the key.</description>
    </item>
    <item>
      <title>Template Method Design Pattern</title>
      <link>https://javadevcentral.com/template-method-design-pattern/</link>
      <pubDate>Mon, 25 Nov 2019 19:50:00 +0530</pubDate>
      <guid>https://javadevcentral.com/template-method-design-pattern/</guid>
      <description>The Template Method Design Pattern defines the steps of an algorithm and allows subclasses to provide the implementation for one or more steps.</description>
    </item>
    <item>
      <title>Optional – New methods in Java 9 through 11</title>
      <link>https://javadevcentral.com/optional-new-methods/</link>
      <pubDate>Mon, 18 Nov 2019 15:34:00 +0530</pubDate>
      <guid>https://javadevcentral.com/optional-new-methods/</guid>
      <description>Optional was added to Java 8. This post explains the new methods or APIs added to the Optional class in Java from Java 9 through 11 with examples.</description>
    </item>
    <item>
      <title>A Complete Guide to Java Optional</title>
      <link>https://javadevcentral.com/a-complete-guide-to-java-optional/</link>
      <pubDate>Mon, 11 Nov 2019 14:49:00 +0530</pubDate>
      <guid>https://javadevcentral.com/a-complete-guide-to-java-optional/</guid>
      <description>Optional is a container object added to Java 8+ that is used as a wrapper over some value. It provides a mechanism to represent “no result” for a method.</description>
    </item>
    <item>
      <title>Proxy Pattern vs Decorator Pattern</title>
      <link>https://javadevcentral.com/proxy-pattern-vs-decorator-pattern/</link>
      <pubDate>Mon, 04 Nov 2019 14:34:00 +0530</pubDate>
      <guid>https://javadevcentral.com/proxy-pattern-vs-decorator-pattern/</guid>
      <description>This post explores the differences between the Proxy Design Pattern and the Decorator Design Pattern.</description>
    </item>
    <item>
      <title>Proxy Design Pattern</title>
      <link>https://javadevcentral.com/proxy-design-pattern/</link>
      <pubDate>Sun, 27 Oct 2019 14:24:00 +0530</pubDate>
      <guid>https://javadevcentral.com/proxy-design-pattern/</guid>
      <description>The Proxy Design Pattern provides a surrogate or placeholder for another object to control access to it. It acts as a stand-in for another object.</description>
    </item>
    <item>
      <title>Decorator Design Pattern</title>
      <link>https://javadevcentral.com/decorator-design-pattern/</link>
      <pubDate>Wed, 23 Oct 2019 13:19:00 +0530</pubDate>
      <guid>https://javadevcentral.com/decorator-design-pattern/</guid>
      <description>The Decorator design pattern attaches additional responsibilities to an object dynamically. It is an alternative to subclassing for extending functionality.</description>
    </item>
    <item>
      <title>Three Ways to Sort a List in Java</title>
      <link>https://javadevcentral.com/three-ways-to-sort-a-list-in-java/</link>
      <pubDate>Sun, 13 Oct 2019 12:27:00 +0530</pubDate>
      <guid>https://javadevcentral.com/three-ways-to-sort-a-list-in-java/</guid>
      <description>In this blog post, we will see three ways to sort a list in Java. We will see how to sort in ascending and in reversed order.</description>
    </item>
    <item>
      <title>Collectors groupingBy with Examples</title>
      <link>https://javadevcentral.com/collectors-groupingby-with-examples/</link>
      <pubDate>Sun, 06 Oct 2019 13:16:00 +0530</pubDate>
      <guid>https://javadevcentral.com/collectors-groupingby-with-examples/</guid>
      <description>The Collectors groupingBy is a static utility method in the Collectors class. It is used to group the stream elements by a key. In this blog post, we will look at the Collectors groupingBy with examples.</description>
    </item>
    <item>
      <title>Java 8 Collectors toMap with Examples</title>
      <link>https://javadevcentral.com/java-8-collectors-tomap-with-examples/</link>
      <pubDate>Sun, 29 Sep 2019 12:03:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-8-collectors-tomap-with-examples/</guid>
      <description>In this blog post, I will demonstrate the Java 8 Collectors.toMap method with examples and how it’s used to fold a stream into a map.</description>
    </item>
    <item>
      <title>Google Guava Iterators</title>
      <link>https://javadevcentral.com/google-guava-iterators/</link>
      <pubDate>Mon, 23 Sep 2019 11:46:00 +0530</pubDate>
      <guid>https://javadevcentral.com/google-guava-iterators/</guid>
      <description>Google Guava is a Java library belonging to the Guava project of Google. In this post, we will look at the Google Guava Iterators utility class.</description>
    </item>
    <item>
      <title>Observer Pattern using Java’s Observable</title>
      <link>https://javadevcentral.com/observer-pattern-using-java-observable/</link>
      <pubDate>Mon, 16 Sep 2019 10:22:00 +0530</pubDate>
      <guid>https://javadevcentral.com/observer-pattern-using-java-observable/</guid>
      <description>The Observer Design Pattern enables the subject to notify its observers when its state changes. In this post, we implement it using Java&amp;rsquo;s Observable class.</description>
    </item>
    <item>
      <title>Observer Design Pattern</title>
      <link>https://javadevcentral.com/observer-design-pattern/</link>
      <pubDate>Mon, 26 Aug 2019 11:10:00 +0530</pubDate>
      <guid>https://javadevcentral.com/observer-design-pattern/</guid>
      <description>The Observer Design Pattern defines a one-to-many dependency between objects so that when the subject&amp;rsquo;s changes state, all of its observers are notified.</description>
    </item>
    <item>
      <title>Joiner in Google Guava</title>
      <link>https://javadevcentral.com/joiner-in-google-guava/</link>
      <pubDate>Tue, 20 Aug 2019 14:02:00 +0530</pubDate>
      <guid>https://javadevcentral.com/joiner-in-google-guava/</guid>
      <description>Google Guava is a Java library belonging to the Guava project of Google. We will look at the Joiner Utility class in the Google Guava library.</description>
    </item>
    <item>
      <title>String Utilities in Google Guava</title>
      <link>https://javadevcentral.com/string-utilities-in-google-guava/</link>
      <pubDate>Wed, 14 Aug 2019 16:49:00 +0530</pubDate>
      <guid>https://javadevcentral.com/string-utilities-in-google-guava/</guid>
      <description>Google Guava belongs to the Guava project of Google. The String Utilities in Google Guava library offers several helper methods for working with Strings.</description>
    </item>
    <item>
      <title>EnumSet in Java</title>
      <link>https://javadevcentral.com/enumset-in-java/</link>
      <pubDate>Tue, 06 Aug 2019 10:41:00 +0530</pubDate>
      <guid>https://javadevcentral.com/enumset-in-java/</guid>
      <description>An EnumSet in Java is a specialized Set implementation meant to be used with enum types. All the elements in an EnumSet are enum instances.</description>
    </item>
    <item>
      <title>TreeMap in Java with Examples</title>
      <link>https://javadevcentral.com/treemap-in-java/</link>
      <pubDate>Wed, 31 Jul 2019 15:31:00 +0530</pubDate>
      <guid>https://javadevcentral.com/treemap-in-java/</guid>
      <description>A TreeMap is a Red-Black Tree based implementation of a NavigableMap. In this post, we will look at TreeMap in Java and the methods offered by them.</description>
    </item>
    <item>
      <title>How Hashmap Works in Java</title>
      <link>https://javadevcentral.com/how-hashmap-works-in-java/</link>
      <pubDate>Mon, 22 Jul 2019 19:39:00 +0530</pubDate>
      <guid>https://javadevcentral.com/how-hashmap-works-in-java/</guid>
      <description>A Map data structure is an object that maps keys to values. We will see how a HashMap works in java. We will also see how get and put operations work.</description>
    </item>
    <item>
      <title>Iterator Design Pattern</title>
      <link>https://javadevcentral.com/iterator-design-pattern/</link>
      <pubDate>Mon, 15 Jul 2019 17:22:00 +0530</pubDate>
      <guid>https://javadevcentral.com/iterator-design-pattern/</guid>
      <description>The Iterator Design Pattern provides a way to access the elements of an aggregate object sequentially without exposing its underlying representation.</description>
    </item>
    <item>
      <title>Benefits of Immutable Class in Java</title>
      <link>https://javadevcentral.com/benefits-of-immutable-class-in-java/</link>
      <pubDate>Sat, 29 Jun 2019 17:12:00 +0530</pubDate>
      <guid>https://javadevcentral.com/benefits-of-immutable-class-in-java/</guid>
      <description>An immutable class is a class whose instances cannot be modified after it is created. In this post, we will look at the benefits of immutable class in Java.</description>
    </item>
    <item>
      <title>How to Make a Class Immutable in Java</title>
      <link>https://javadevcentral.com/how-to-make-a-class-immutable-in-java/</link>
      <pubDate>Tue, 25 Jun 2019 20:40:00 +0530</pubDate>
      <guid>https://javadevcentral.com/how-to-make-a-class-immutable-in-java/</guid>
      <description>An immutable class is one that does not change its state after its construction. In this post, we will learn how to make a class immutable.</description>
    </item>
    <item>
      <title>Read CSV files using Apache Commons CSV</title>
      <link>https://javadevcentral.com/read-csv-files-using-apache-commons-csv/</link>
      <pubDate>Mon, 17 Jun 2019 16:30:00 +0530</pubDate>
      <guid>https://javadevcentral.com/read-csv-files-using-apache-commons-csv/</guid>
      <description>The Apache Commons CSV can be used for reading and writing Comma Separated Value (CSV) files. It is part of the Apache Commons project.</description>
    </item>
    <item>
      <title>Checked and Unchecked Exception</title>
      <link>https://javadevcentral.com/checked-and-unchecked-exception-in-java/</link>
      <pubDate>Sun, 09 Jun 2019 18:20:00 +0530</pubDate>
      <guid>https://javadevcentral.com/checked-and-unchecked-exception-in-java/</guid>
      <description>Checked exceptions are checked at compile time whereas unchecked exceptions are not. Unchecked exceptions generally denote programming errors.</description>
    </item>
    <item>
      <title>Java Method References</title>
      <link>https://javadevcentral.com/java-method-references/</link>
      <pubDate>Wed, 29 May 2019 18:05:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-method-references/</guid>
      <description>A method reference is a reference to an existing method. When a lambda expression just calls an existing method, we can use a Method Reference.</description>
    </item>
    <item>
      <title>A dive deep on Java 8 IntStream</title>
      <link>https://javadevcentral.com/java8-intstream/</link>
      <pubDate>Tue, 14 May 2019 17:42:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java8-intstream/</guid>
      <description>A sequence of primitive int-valued elements supporting sequential and parallel and aggregate operations. It is an int primitive specialization of Stream.</description>
    </item>
    <item>
      <title>Comparator comparing</title>
      <link>https://javadevcentral.com/java-comparator-comparing/</link>
      <pubDate>Mon, 29 Apr 2019 16:23:00 +0530</pubDate>
      <guid>https://javadevcentral.com/java-comparator-comparing/</guid>
      <description>The Comparator is a comparison function in Java that imposes a total ordering on a collection of objects. The comparing is a static method in it</description>
    </item>
    <item>
      <title>RxJava Observable</title>
      <link>https://javadevcentral.com/rxjava-observable/</link>
      <pubDate>Sat, 16 Mar 2019 15:16:00 +0530</pubDate>
      <guid>https://javadevcentral.com/rxjava-observable/</guid>
      <description>An RxJava Observable supports emitting a sequence of items. An Observer subscribes to an Observable. The Observer reacts to the items the Observable emits.</description>
    </item>
    <item>
      <title>Introduction to RxJava</title>
      <link>https://javadevcentral.com/introduction-to-rxjava/</link>
      <pubDate>Sun, 10 Mar 2019 19:32:00 +0530</pubDate>
      <guid>https://javadevcentral.com/introduction-to-rxjava/</guid>
      <description>RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.</description>
    </item>
    <item>
      <title>Abstract Factory Pattern</title>
      <link>https://javadevcentral.com/abstract-factory-pattern/</link>
      <pubDate>Sat, 16 Feb 2019 19:07:00 +0530</pubDate>
      <guid>https://javadevcentral.com/abstract-factory-pattern/</guid>
      <description>The Abstract Factory Pattern provides an interface for creating families of related or dependent objects without specifying their concrete classes.</description>
    </item>
    <item>
      <title>Factory Method Pattern</title>
      <link>https://javadevcentral.com/factory-method/</link>
      <pubDate>Tue, 15 Jan 2019 17:10:00 +0530</pubDate>
      <guid>https://javadevcentral.com/factory-method/</guid>
      <description>Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses.</description>
    </item>
    <item>
      <title>Strategy Design Pattern</title>
      <link>https://javadevcentral.com/strategy-design-pattern/</link>
      <pubDate>Mon, 10 Dec 2018 19:05:00 +0530</pubDate>
      <guid>https://javadevcentral.com/strategy-design-pattern/</guid>
      <description>Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it.</description>
    </item>
    <item>
      <title>Privacy Policy</title>
      <link>https://javadevcentral.com/privacy-policy/</link>
      <pubDate>Mon, 29 Oct 2018 19:10:00 +0530</pubDate>
      <guid>https://javadevcentral.com/privacy-policy/</guid>
      <description>The Privacy Policy page</description>
    </item>
    <item>
      <title>About</title>
      <link>https://javadevcentral.com/about/</link>
      <pubDate>Mon, 29 Oct 2018 19:05:00 +0530</pubDate>
      <guid>https://javadevcentral.com/about/</guid>
      <description>The about page</description>
    </item>
  </channel>
</rss>
