{"id":2717,"date":"2025-12-23T10:00:22","date_gmt":"2025-12-23T15:00:22","guid":{"rendered":"https:\/\/www.mymiller.name\/wordpress\/?p=2717"},"modified":"2025-12-23T10:00:22","modified_gmt":"2025-12-23T15:00:22","slug":"listutils-isempty-notempty","status":"publish","type":"post","link":"https:\/\/www.mymiller.name\/wordpress\/lists\/listutils-isempty-notempty\/","title":{"rendered":"ListUtils isEmpty() &#038; notEmpty()"},"content":{"rendered":"\n<p>Again providing two very simple methods here for my ListUtils class.  Nothing fancy.  Most ListUtils you find will have an isEmpty().  I&#8217;ve added the notEmtpy() for readability.  Yes I could do this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if(!ListUtils.isEmpty(myList)) {\n   ....\n}<\/code><\/pre>\n\n\n\n<p>However I find this far more readable:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>if(ListUtils.notEmpty(myList)) {\n   ...\n}<\/code><\/pre>\n\n\n\n<p>So here for the sake of showing what all I have added are the two methods:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/**\n     * Returns boolean indicating if the List is empty\n     * @param list List to check\n     * @param &lt;E> List type\n     * @return boolean indicating if LIst is empty\n     *\/\n    public static &lt;E> boolean isEmpty(List&lt;E> list) {\n        if (list != null) {\n            if (list.size() > 0) {\n                return false;\n            }\n        }\n\n        return true;\n    }\n\n    \/**\n     * Returns boolean indicating if the List is not empty\n     * @param list List to check\n     * @param &lt;E> List type\n     * @return boolean indicating if List is not empty\n     *\/\n    public static &lt;E> boolean notEmpty(List&lt;E> list) {\n        return !ListUtils.isEmpty(list);\n    }<\/code><\/pre>\n\n\n\n<p>Nothing fancy and just straight and simple code.  For the full class look at this <a href=\"https:\/\/gist.github.com\/Ghost-Programmer\/8caa01aa7db3639caaa94564cdb8bfe5\" target=\"_blank\" rel=\"noreferrer noopener\">GIST<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Standard isEmpty() and notEmpty() methods for a ListUtils class.  Nothing fancy, just simple methods and functionality.  See the entire ListUtils series.<\/p>\n","protected":false},"author":1,"featured_media":2718,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[455],"tags":[69],"series":[287],"class_list":["post-2717","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lists","tag-java-2","series-listutils"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/soda-4017612_640.jpg?fit=640%2C429&ssl=1","jetpack-related-posts":[{"id":2711,"url":"https:\/\/www.mymiller.name\/wordpress\/lists\/listutils-size\/","url_meta":{"origin":2717,"position":0},"title":"ListUtils.size()","author":"Jeffery Miller","date":"December 23, 2025","format":false,"excerpt":"Simple yet handy method for your ListUtils class. Handle if null, and return the number of elements in the list. Effective and simple.","rel":"","context":"In &quot;Lists&quot;","block_context":{"text":"Lists","link":"https:\/\/www.mymiller.name\/wordpress\/category\/lists\/"},"img":{"alt_text":"List size","src":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/number-703136_640.jpg?fit=640%2C426&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/number-703136_640.jpg?fit=640%2C426&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/number-703136_640.jpg?fit=640%2C426&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":2736,"url":"https:\/\/www.mymiller.name\/wordpress\/lists\/listutils-safe\/","url_meta":{"origin":2717,"position":1},"title":"ListUtils.safe()","author":"Jeffery Miller","date":"December 24, 2025","format":false,"excerpt":"Sometimes you need to guarantee a list is safe to use. A simple method can make sure your safe to use the list, or have an empty list that would be safe for use. \/** * Guarantees a list will be safe to use, even if null. * @param list\u2026","rel":"","context":"In &quot;Lists&quot;","block_context":{"text":"Lists","link":"https:\/\/www.mymiller.name\/wordpress\/category\/lists\/"},"img":{"alt_text":"Keeping Containers Safe","src":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/rappelling-755399_640.jpg?fit=640%2C480&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/rappelling-755399_640.jpg?fit=640%2C480&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/rappelling-755399_640.jpg?fit=640%2C480&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":2739,"url":"https:\/\/www.mymiller.name\/wordpress\/lists\/listutils-page\/","url_meta":{"origin":2717,"position":2},"title":"ListUtils Page","author":"Jeffery Miller","date":"December 24, 2025","format":false,"excerpt":"Ever have a list, that you need to paginate through? I certainly have, I created a simple method to ListUtils to make it easier. \/** * Performs pagination on the List, returning the indicated page of elements, or an empty ist. * @param list List to paginate * @param pageSize\u2026","rel":"","context":"In &quot;Lists&quot;","block_context":{"text":"Lists","link":"https:\/\/www.mymiller.name\/wordpress\/category\/lists\/"},"img":{"alt_text":"Pick a page","src":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/books-1245690_640.jpg?fit=640%2C426&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/books-1245690_640.jpg?fit=640%2C426&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/04\/books-1245690_640.jpg?fit=640%2C426&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":3140,"url":"https:\/\/www.mymiller.name\/wordpress\/lists\/listutils-iterate\/","url_meta":{"origin":2717,"position":3},"title":"ListUtils.iterate()","author":"Jeffery Miller","date":"December 24, 2025","format":false,"excerpt":"Ever have one of those objects that want to give you an iterator and don't have a method for getting it as a list? Well created another new method for my ListUtils class. ListUtils::iteratre() it takes an iterator and converts it into a List for you. \/** * Convert and\u2026","rel":"","context":"In &quot;Lists&quot;","block_context":{"text":"Lists","link":"https:\/\/www.mymiller.name\/wordpress\/category\/lists\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2022\/01\/castles-ga8e4bd9a6_640.jpg?fit=640%2C360&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2022\/01\/castles-ga8e4bd9a6_640.jpg?fit=640%2C360&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2022\/01\/castles-ga8e4bd9a6_640.jpg?fit=640%2C360&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":2632,"url":"https:\/\/www.mymiller.name\/wordpress\/lists\/list-intersection-union-unique\/","url_meta":{"origin":2717,"position":4},"title":"List Intersection, Union, &#038; Unique","author":"Jeffery Miller","date":"December 23, 2025","format":false,"excerpt":"Ever have two lists that you need to pull the unique elements from? Or need to pull the elements in both? Here is a ListUtils class for doing just those steps. package name.mymiller.extensions.utils; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; \/** * * @author jmiller Provide a set of utilities to\u2026","rel":"","context":"In &quot;Lists&quot;","block_context":{"text":"Lists","link":"https:\/\/www.mymiller.name\/wordpress\/category\/lists\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2019\/09\/grocery-list-1670408_640.jpg?fit=640%2C426&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2019\/09\/grocery-list-1670408_640.jpg?fit=640%2C426&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2019\/09\/grocery-list-1670408_640.jpg?fit=640%2C426&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":2866,"url":"https:\/\/www.mymiller.name\/wordpress\/java_extra\/complex-queries-for-java-data\/","url_meta":{"origin":2717,"position":5},"title":"Complex Queries for Java data","author":"Jeffery Miller","date":"December 24, 2025","format":false,"excerpt":"Recently a project I was working on called for a complex filter that was needed for selecting specific elements from a large data set. Looking at various methods of doing this, none provided a simple method to do so. First I wrote out my own Predicate<T> that was ugly with\u2026","rel":"","context":"In &quot;Java Extras&quot;","block_context":{"text":"Java Extras","link":"https:\/\/www.mymiller.name\/wordpress\/category\/java_extra\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/10\/maze-2264_640.jpg?fit=640%2C256&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/10\/maze-2264_640.jpg?fit=640%2C256&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.mymiller.name\/wordpress\/wp-content\/uploads\/2020\/10\/maze-2264_640.jpg?fit=640%2C256&ssl=1&resize=525%2C300 1.5x"},"classes":[]}],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/posts\/2717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/comments?post=2717"}],"version-history":[{"count":2,"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/posts\/2717\/revisions"}],"predecessor-version":[{"id":2720,"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/posts\/2717\/revisions\/2720"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/media\/2718"}],"wp:attachment":[{"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/media?parent=2717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/categories?post=2717"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/tags?post=2717"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/www.mymiller.name\/wordpress\/wp-json\/wp\/v2\/series?post=2717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}