{"id":30613,"date":"2023-01-16T00:15:22","date_gmt":"2023-01-15T18:45:22","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/"},"modified":"2023-01-16T00:15:22","modified_gmt":"2023-01-15T18:45:22","slug":"solved-java-sort-list-on-basis-of-particular-index-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/","title":{"rendered":"[Solved] Java: Sort List on basis of particular index [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-39330950\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"39330950\" data-parentid=\"39328187\" data-score=\"1\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Don&#8217;t use getClass().toString() to compare types.  Use instanceof and try to group types by common interfaces when possible.  For example CharSequence is a common interface for String, StringBuilder, and StringBuffer.<\/p>\n<p>Here is one way.  You may want to rework the compare method to compare whatever types you have such as Date or URL or custom objects.<\/p>\n<pre><code>public class CompareEverything {\n\n    public static void sort(List someList, int columnNumber) {\n        Collections.sort(someList, new EverythingComparator(columnNumber));\n    }\n\n    public static class EverythingComparator implements Comparator&lt;List&lt;?&gt;&gt; {\n        private int columnNumber;\n\n        public EverythingComparator(int columnNumber) {\n            this.columnNumber = columnNumber;\n       }\n\n        @Override\n        public int compare(List&lt;?&gt; list1, List&lt;?&gt; list2) {\n            Object obj1 = list1.get(columnNumber);\n            Object obj2 = list2.get(columnNumber);\n            return CompareEverything.compare(obj1, obj2);\n       }\n    }\n\n    public static int compare(Object obj1, Object obj2) {\n        int result = 0;\n        if (obj1 == null) {\n            result = (obj2 == null) ? 0 : -1;\n        }\n        else if (obj2 == null) {\n            result = 1;\n        }\n        else if (obj1 instanceof CharSequence &amp;&amp; obj2 instanceof CharSequence) {\n            \/\/ String, StringBuilder, StringBuffer, etc.\n            result = obj1.toString().compareTo(obj2.toString());\n        }\n        else if (obj1 instanceof Number &amp;&amp; obj2 instanceof Number) {\n            Number num1 = (Number)obj1;\n            Number num2 = (Number)obj2;\n            \/\/ Short, Integer, or Long\n            if (isIntegral(obj1.getClass()) &amp;&amp; isIntegral(obj2.getClass())) {\n                result = Long.compare(num1.longValue(), num2.longValue());\n            }\n            else { \/\/ Float, Double, or any mismatched combo\n                result = Double.compare(num1.doubleValue(), num2.doubleValue());\n            }\n        }\n        \/\/ add other types...\n        else {\n            \/\/ mismatched types - compare as Strings\n            \/\/ or maybe throw a RuntimeException?\n           result = obj1.toString().compareTo(obj2.toString());\n        }\n        return result;\n    }\n\n    private static boolean isIntegral(Class&lt;?&gt; type) {\n        return Short.class.equals(type) || Integer.class.equals(type) || Long.class.equals(type);\n    }\n}\n<\/code><\/pre>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">5<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Java: Sort List<List<T>> on basis of particular index [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Don&#8217;t use getClass().toString() to compare types. Use instanceof and try to group types by common interfaces when possible. For example CharSequence is a common interface for String, StringBuilder, and StringBuffer. Here is one way. You may want to rework the compare method to compare whatever types you have such as Date or URL or &#8230; <a title=\"[Solved] Java: Sort List on basis of particular index [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/\" aria-label=\"More on [Solved] Java: Sort List on basis of particular index [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[1880,323,540],"class_list":["post-30613","post","type-post","status-publish","format-standard","hentry","category-solved","tag-comparator","tag-java","tag-list"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Java: Sort List on basis of particular index [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Java: Sort List on basis of particular index [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Don&#8217;t use getClass().toString() to compare types. Use instanceof and try to group types by common interfaces when possible. For example CharSequence is a common interface for String, StringBuilder, and StringBuffer. Here is one way. You may want to rework the compare method to compare whatever types you have such as Date or URL or ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-15T18:45:22+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Java: Sort List on basis of particular index [closed]\",\"datePublished\":\"2023-01-15T18:45:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/\"},\"wordCount\":80,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"comparator\",\"java\",\"list\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/\",\"name\":\"[Solved] Java: Sort List on basis of particular index [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2023-01-15T18:45:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Java: Sort List on basis of particular index [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Java: Sort List on basis of particular index [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Java: Sort List on basis of particular index [closed] - JassWeb","og_description":"[ad_1] Don&#8217;t use getClass().toString() to compare types. Use instanceof and try to group types by common interfaces when possible. For example CharSequence is a common interface for String, StringBuilder, and StringBuffer. Here is one way. You may want to rework the compare method to compare whatever types you have such as Date or URL or ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/","og_site_name":"JassWeb","article_published_time":"2023-01-15T18:45:22+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Java: Sort List on basis of particular index [closed]","datePublished":"2023-01-15T18:45:22+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/"},"wordCount":80,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["comparator","java","list"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/","name":"[Solved] Java: Sort List on basis of particular index [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2023-01-15T18:45:22+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-java-sort-list-on-basis-of-particular-index-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Java: Sort List on basis of particular index [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/30613","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=30613"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/30613\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=30613"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=30613"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=30613"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}