{"id":1576,"date":"2020-11-13T11:37:27","date_gmt":"2020-11-13T03:37:27","guid":{"rendered":"https:\/\/www.yusian.com\/blog\/?p=1576"},"modified":"2020-11-17T17:39:15","modified_gmt":"2020-11-17T09:39:15","slug":"%e6%96%97%e5%9c%b0%e4%b8%bb%e5%8f%91%e7%89%8c%e7%9a%84%e7%ae%80%e5%8d%95%e5%ae%9e%e7%8e%b0","status":"publish","type":"post","link":"https:\/\/www.yusian.com\/blog\/java\/2020\/11\/13\/1137271576.html","title":{"rendered":"\u6597\u5730\u4e3b\u53d1\u724c\u7684\u7b80\u5355\u5b9e\u73b0"},"content":{"rendered":"<p><strong>ArrayList\u7248<\/strong><\/p>\n<pre><code class=\"language-java line-numbers\">package com.yusian.poker;\n\nimport java.util.ArrayList;\nimport java.util.Collections;\nimport java.util.Comparator;\n\npublic class PokerDemo {\n    public static void main(String[] args) {\n        String[] colors = {\"\u2660\ufe0f\", \"\u2665\ufe0f\", \"\u2663\ufe0f\", \"\u2666\ufe0f\"};\n        String[] numbers = {\"2\", \"A\", \"K\", \"Q\", \"J\", \"10\", \"9\", \"8\", \"7\", \"6\", \"5\", \"4\", \"3\"};\n        ArrayList&lt;String&gt; poker = new ArrayList&lt;&gt;();\n        poker.add(\"\u5927\u738b\");\n        poker.add(\"\u5c0f\u738b\");\n        for (String color : colors) {\n            for (String number : numbers) {\n                poker.add(number + color);\n            }\n        }\n        System.out.println(poker);\n        \/\/ \u6253\u4e71\u987a\u5e8f\n        Collections.shuffle(poker);\n        System.out.println(poker);\n        ArrayList&lt;String&gt; player1 = new ArrayList&lt;&gt;();\n        ArrayList&lt;String&gt; player2 = new ArrayList&lt;&gt;();\n        ArrayList&lt;String&gt; player3 = new ArrayList&lt;&gt;();\n        ArrayList&lt;String&gt; remain = new ArrayList&lt;&gt;();\n        for (int i = 0; i &lt; poker.size(); i++) {\n            String p = poker.get(i);\n            if (i &gt;= 51) {\n                remain.add(p);\n            } else if (i % 3 == 0) {\n                player1.add(p);\n            } else if (i % 3 == 1) {\n                player2.add(p);\n            } else {\n                player3.add(p);\n            }\n        }\n        \/\/ \u6392\u5e8f\n        player1.sort(Comparator.comparingInt((String o) -&gt; o.charAt(0)));\n        player2.sort(Comparator.comparingInt((String o) -&gt; o.charAt(0)));\n        player3.sort(Comparator.comparingInt((String o) -&gt; o.charAt(0)));\n        System.out.println(\"------------------\");\n        System.out.println(\"player1:\" + player1);\n        System.out.println(\"player2:\" + player2);\n        System.out.println(\"player3:\" + player3);\n        System.out.println(\"\u5e95\u724c\uff1a\" + remain);\n    }\n}\n<\/code><\/pre>\n<pre><code class=\"language-cmd line-numbers\">[\u5927\u738b, \u5c0f\u738b, 2\u2660\ufe0f, A\u2660\ufe0f, K\u2660\ufe0f, Q\u2660\ufe0f, J\u2660\ufe0f, 10\u2660\ufe0f, 9\u2660\ufe0f, 8\u2660\ufe0f, 7\u2660\ufe0f, 6\u2660\ufe0f, 5\u2660\ufe0f, 4\u2660\ufe0f, 3\u2660\ufe0f, 2\u2665\ufe0f, A\u2665\ufe0f, K\u2665\ufe0f, Q\u2665\ufe0f, J\u2665\ufe0f, 10\u2665\ufe0f, 9\u2665\ufe0f, 8\u2665\ufe0f, 7\u2665\ufe0f, 6\u2665\ufe0f, 5\u2665\ufe0f, 4\u2665\ufe0f, 3\u2665\ufe0f, 2\u2663\ufe0f, A\u2663\ufe0f, K\u2663\ufe0f, Q\u2663\ufe0f, J\u2663\ufe0f, 10\u2663\ufe0f, 9\u2663\ufe0f, 8\u2663\ufe0f, 7\u2663\ufe0f, 6\u2663\ufe0f, 5\u2663\ufe0f, 4\u2663\ufe0f, 3\u2663\ufe0f, 2\u2666\ufe0f, A\u2666\ufe0f, K\u2666\ufe0f, Q\u2666\ufe0f, J\u2666\ufe0f, 10\u2666\ufe0f, 9\u2666\ufe0f, 8\u2666\ufe0f, 7\u2666\ufe0f, 6\u2666\ufe0f, 5\u2666\ufe0f, 4\u2666\ufe0f, 3\u2666\ufe0f]\n[2\u2660\ufe0f, J\u2663\ufe0f, 4\u2666\ufe0f, 5\u2660\ufe0f, 9\u2660\ufe0f, Q\u2660\ufe0f, 6\u2660\ufe0f, 7\u2660\ufe0f, Q\u2666\ufe0f, 3\u2666\ufe0f, 2\u2663\ufe0f, 4\u2663\ufe0f, 10\u2666\ufe0f, 9\u2666\ufe0f, 3\u2665\ufe0f, 7\u2666\ufe0f, A\u2665\ufe0f, 3\u2660\ufe0f, 5\u2665\ufe0f, K\u2665\ufe0f, 9\u2665\ufe0f, 8\u2660\ufe0f, K\u2666\ufe0f, A\u2666\ufe0f, 5\u2663\ufe0f, J\u2665\ufe0f, K\u2660\ufe0f, 2\u2666\ufe0f, 6\u2663\ufe0f, A\u2663\ufe0f, 8\u2666\ufe0f, 6\u2665\ufe0f, 9\u2663\ufe0f, 4\u2660\ufe0f, 10\u2665\ufe0f, 10\u2663\ufe0f, 8\u2665\ufe0f, \u5927\u738b, J\u2660\ufe0f, 5\u2666\ufe0f, A\u2660\ufe0f, Q\u2665\ufe0f, 6\u2666\ufe0f, 4\u2665\ufe0f, 8\u2663\ufe0f, 3\u2663\ufe0f, K\u2663\ufe0f, 2\u2665\ufe0f, Q\u2663\ufe0f, 7\u2665\ufe0f, 10\u2660\ufe0f, 7\u2663\ufe0f, J\u2666\ufe0f, \u5c0f\u738b]\n------------------\nplayer1:[10\u2666\ufe0f, 2\u2660\ufe0f, 2\u2666\ufe0f, 3\u2666\ufe0f, 3\u2663\ufe0f, 4\u2660\ufe0f, 5\u2660\ufe0f, 5\u2665\ufe0f, 5\u2663\ufe0f, 5\u2666\ufe0f, 6\u2660\ufe0f, 6\u2666\ufe0f, 7\u2666\ufe0f, 8\u2660\ufe0f, 8\u2666\ufe0f, 8\u2665\ufe0f, Q\u2663\ufe0f]\nplayer2:[10\u2665\ufe0f, 2\u2663\ufe0f, 4\u2665\ufe0f, 6\u2663\ufe0f, 6\u2665\ufe0f, 7\u2660\ufe0f, 7\u2665\ufe0f, 9\u2660\ufe0f, 9\u2666\ufe0f, A\u2665\ufe0f, A\u2660\ufe0f, J\u2663\ufe0f, J\u2665\ufe0f, K\u2665\ufe0f, K\u2666\ufe0f, K\u2663\ufe0f, \u5927\u738b]\nplayer3:[10\u2663\ufe0f, 10\u2660\ufe0f, 2\u2665\ufe0f, 3\u2665\ufe0f, 3\u2660\ufe0f, 4\u2666\ufe0f, 4\u2663\ufe0f, 8\u2663\ufe0f, 9\u2665\ufe0f, 9\u2663\ufe0f, A\u2666\ufe0f, A\u2663\ufe0f, J\u2660\ufe0f, K\u2660\ufe0f, Q\u2660\ufe0f, Q\u2666\ufe0f, Q\u2665\ufe0f]\n\u5e95\u724c\uff1a[7\u2663\ufe0f, J\u2666\ufe0f, \u5c0f\u738b]\n<\/code><\/pre>\n<p><strong>HashMap\u7248<\/strong><br \/>\n<!--more--><\/p>\n<pre><code class=\"language-java line-numbers\">private static void demo02() {\n    List&lt;String&gt; colors = List.of(\"\u2660\ufe0f\", \"\u2665\ufe0f\", \"\u2663\ufe0f\", \"\u2666\ufe0f\");\n    List&lt;String&gt; numbers = List.of(\"2\", \"A\", \"K\", \"Q\", \"J\", \"10\", \"9\", \"8\", \"7\", \"6\", \"5\", \"4\", \"3\");\n    LinkedHashMap&lt;Integer, String&gt; poker = new LinkedHashMap&lt;&gt;();\n    poker.put(0, \"\u5927\u738b\");\n    poker.put(1, \"\u5c0f\u738b\");\n    for (int i = 0; i &lt; numbers.size(); i++) {\n        for (int i1 = 0; i1 &lt; colors.size(); i1++) {\n            Integer index = (i + 1) * colors.size() + i1;\n            String value = numbers.get(i) + colors.get(i1);\n            poker.put(index, value);\n        }\n    }\n    \/\/ \u8f93\u51fa\u6240\u6709\u7684\u724c\n    System.out.println(poker);\n    \/\/ \u8f93\u51fa\u724c\u7d22\u5f15\n    ArrayList&lt;Integer&gt; pokerIndex = new ArrayList&lt;&gt;(poker.keySet());\n    System.out.println(pokerIndex);\n    \/\/ \u6253\u4e71\u7d22\u5f15\u503c\n    Collections.shuffle(pokerIndex);\n    System.out.println(pokerIndex);\n\n    \/\/ \u53d1\u724c\n    ArrayList&lt;Integer&gt; remain = new ArrayList&lt;&gt;();\n    ArrayList&lt;Integer&gt; player1 = new ArrayList&lt;&gt;();\n    ArrayList&lt;Integer&gt; player2 = new ArrayList&lt;&gt;();\n    ArrayList&lt;Integer&gt; player3 = new ArrayList&lt;&gt;();\n    for (int i = 0; i &lt; pokerIndex.size(); i++) {\n        Integer index = pokerIndex.get(i);\n        if (i &gt; 50) {\n            remain.add(index);\n        } else if (i % 3 == 0) {\n            player1.add(index);\n        } else if (i % 3 == 1) {\n            player2.add(index);\n        } else if (i % 3 == 2) {\n            player3.add(index);\n        }\n    }\n    System.out.println(\"-------------\");\n    watchPoker(\"\u73a9\u5bb6\u4e00\", player1, poker);\n    watchPoker(\"\u73a9\u5bb6\u4e8c\", player2, poker);\n    watchPoker(\"\u73a9\u5bb6\u4e09\", player3, poker);\n    watchPoker(\"\u5e95\u724c\", remain, poker);\n}\n\/**\n * \u770b\u724c\n * @param player \u73a9\u5bb6\n * @param poker \u724c\n *\/\nprivate static void watchPoker(String name, ArrayList&lt;Integer&gt; player, HashMap poker) {\n    Collections.sort(player);\n    System.out.print(name + \": [\");\n    for (int i = 0; i &lt; player.size(); i++) {\n        System.out.print(poker.get(player.get(i)));\n        if (i == player.size() - 1) {\n            System.out.println(\"]\");\n        } else {\n            System.out.print(\", \");\n        }\n    }\n}\n<\/code><\/pre>\n<pre><code class=\"language-java line-numbers\">{0=\u5927\u738b, 1=\u5c0f\u738b, 4=2\u2660\ufe0f, 5=2\u2665\ufe0f, 6=2\u2663\ufe0f, 7=2\u2666\ufe0f, 8=A\u2660\ufe0f, 9=A\u2665\ufe0f, 10=A\u2663\ufe0f, 11=A\u2666\ufe0f, 12=K\u2660\ufe0f, 13=K\u2665\ufe0f, 14=K\u2663\ufe0f, 15=K\u2666\ufe0f, 16=Q\u2660\ufe0f, 17=Q\u2665\ufe0f, 18=Q\u2663\ufe0f, 19=Q\u2666\ufe0f, 20=J\u2660\ufe0f, 21=J\u2665\ufe0f, 22=J\u2663\ufe0f, 23=J\u2666\ufe0f, 24=10\u2660\ufe0f, 25=10\u2665\ufe0f, 26=10\u2663\ufe0f, 27=10\u2666\ufe0f, 28=9\u2660\ufe0f, 29=9\u2665\ufe0f, 30=9\u2663\ufe0f, 31=9\u2666\ufe0f, 32=8\u2660\ufe0f, 33=8\u2665\ufe0f, 34=8\u2663\ufe0f, 35=8\u2666\ufe0f, 36=7\u2660\ufe0f, 37=7\u2665\ufe0f, 38=7\u2663\ufe0f, 39=7\u2666\ufe0f, 40=6\u2660\ufe0f, 41=6\u2665\ufe0f, 42=6\u2663\ufe0f, 43=6\u2666\ufe0f, 44=5\u2660\ufe0f, 45=5\u2665\ufe0f, 46=5\u2663\ufe0f, 47=5\u2666\ufe0f, 48=4\u2660\ufe0f, 49=4\u2665\ufe0f, 50=4\u2663\ufe0f, 51=4\u2666\ufe0f, 52=3\u2660\ufe0f, 53=3\u2665\ufe0f, 54=3\u2663\ufe0f, 55=3\u2666\ufe0f}\n[0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55]\n[0, 36, 9, 27, 42, 6, 29, 47, 54, 52, 5, 41, 19, 38, 1, 45, 14, 25, 48, 39, 22, 11, 13, 18, 15, 8, 28, 23, 7, 33, 16, 34, 44, 4, 17, 53, 10, 37, 12, 26, 50, 30, 32, 31, 24, 20, 21, 49, 35, 55, 43, 46, 40, 51]\n-------------\n\u73a9\u5bb6\u4e00: [\u5927\u738b, 2\u2660\ufe0f, A\u2663\ufe0f, A\u2666\ufe0f, K\u2666\ufe0f, Q\u2660\ufe0f, Q\u2666\ufe0f, J\u2660\ufe0f, J\u2666\ufe0f, 10\u2663\ufe0f, 10\u2666\ufe0f, 9\u2665\ufe0f, 8\u2660\ufe0f, 8\u2666\ufe0f, 5\u2665\ufe0f, 4\u2660\ufe0f, 3\u2660\ufe0f]\n\u73a9\u5bb6\u4e8c: [2\u2665\ufe0f, 2\u2666\ufe0f, A\u2660\ufe0f, K\u2665\ufe0f, K\u2663\ufe0f, Q\u2665\ufe0f, J\u2665\ufe0f, 9\u2666\ufe0f, 8\u2663\ufe0f, 7\u2660\ufe0f, 7\u2665\ufe0f, 7\u2663\ufe0f, 7\u2666\ufe0f, 6\u2663\ufe0f, 5\u2666\ufe0f, 4\u2663\ufe0f, 3\u2666\ufe0f]\n\u73a9\u5bb6\u4e09: [\u5c0f\u738b, 2\u2663\ufe0f, A\u2665\ufe0f, K\u2660\ufe0f, Q\u2663\ufe0f, J\u2663\ufe0f, 10\u2660\ufe0f, 10\u2665\ufe0f, 9\u2660\ufe0f, 9\u2663\ufe0f, 8\u2665\ufe0f, 6\u2665\ufe0f, 6\u2666\ufe0f, 5\u2660\ufe0f, 4\u2665\ufe0f, 3\u2665\ufe0f, 3\u2663\ufe0f]\n\u5e95\u724c: [6\u2660\ufe0f, 5\u2663\ufe0f, 4\u2666\ufe0f]\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>ArrayList\u7248 package com.yusian.poker; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; public class PokerDemo { public static void main(String[] args) { String[] colors = {&#8220;\u2660\ufe0f&#8221;, &#8220;\u2665\ufe0f&#8221;, &#8220;\u2663\ufe0f&#8221;, &#8220;\u2666\ufe0f&#8221;}; String[] numbers = {&#8220;2&#8221;, &#8220;A&#8221;, &#8220;K&#8221;, &#8220;Q&#8221;, &#8220;J&#8221;, &#8220;10&#8221;, &#8220;9&#8221;, &#8220;8&#8221;, &#8220;7&#8221;, &#8220;6&#8221;, &#8220;5&#8221;, &#8220;4&#8221;, &#8220;3&#8221;}; ArrayList&lt;String&gt; poker = new ArrayList&lt;&gt;(); poker.add(&#8220;\u5927\u738b&#8221;); poker.add(&#8220;\u5c0f\u738b&#8221;); for (String color : colors) { [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[249,264],"class_list":["post-1576","post","type-post","status-publish","format-standard","hentry","category-java","tag-arraylist","tag-hashmap"],"_links":{"self":[{"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/posts\/1576","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/comments?post=1576"}],"version-history":[{"count":0,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/posts\/1576\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/media?parent=1576"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/categories?post=1576"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yusian.com\/blog\/wp-json\/wp\/v2\/tags?post=1576"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}