[Java] Get all countries using Java SE 8 Locale

原文はこちら。
https://blogs.oracle.com/brunoborges/entry/get_all_countries_using_java

以下のようなエントリを見て、以前同じようなエントリを投稿したなぁ、と考えていました。
Get all the country using Java Locale List
http://www.javatutorialscorner.com/2014/02/get-all-county-using-java-locale-list.html
package com.javatutorialscorner.util;

import java.util.Locale;

public class JavaCountyList {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  String[] locales = Locale.getISOCountries();
  for (String country : locales) {
   Locale locale = new Locale("", country);
   System.out.println("Country : " + locale.getDisplayCountry()
     + " \t\t\t\t:\t Country Code : " + locale.getCountry());
  }

 }

}
このコードを実行すると、こんな感じの結果になります。
Country : Andorra     :  Country Code : AD
Country : United Arab Emirates     :  Country Code : AE
Country : Afghanistan     :  Country Code : AF
Country : Antigua and Barbuda     :  Country Code : AG
Country : Anguilla     :  Country Code : AI
Country : Albania     :  Country Code : AL
Country : Armenia     :  Country Code : AM
Country : Netherlands Antilles     :  Country Code : AN
Country : Angola     :  Country Code : AO
Country : Antarctica     :  Country Code : AQ
Country : Argentina     :  Country Code : AR
Country : American Samoa     :  Country Code : AS
Country : Austria     :  Country Code : AT
Country : Australia     :  Country Code : AU
Country : Aruba     :  Country Code : AW
Country : Åland Islands     :  Country Code : AX
Country : Azerbaijan     :  Country Code : AZ
Country : Bosnia and Herzegovina     :  Country Code : BA
Country : Barbados     :  Country Code : BB
Country : Bangladesh     :  Country Code : BD
Country : Belgium     :  Country Code : BE
Country : Burkina Faso     :  Country Code : BF
Country : Bulgaria     :  Country Code : BG
Country : Bahrain     :  Country Code : BH
Country : Burundi     :  Country Code : BI
Country : Benin     :  Country Code : BJ
Country : Saint Barthélemy     :  Country Code : BL
Country : Bermuda     :  Country Code : BM
Country : Brunei     :  Country Code : BN
Country : Bolivia     :  Country Code : BO
Country : Bonaire, Sint Eustatius and Saba     :  Country Code : BQ
Country : Brazil     :  Country Code : BR
Country : Bahamas     :  Country Code : BS
Country : Bhutan     :  Country Code : BT
Country : Bouvet Island     :  Country Code : BV
Country : Botswana     :  Country Code : BW
Country : Belarus     :  Country Code : BY
Country : Belize     :  Country Code : BZ
Country : Canada     :  Country Code : CA
Country : Cocos Islands     :  Country Code : CC
Country : The Democratic Republic Of Congo     :  Country Code : CD
Country : Central African Republic     :  Country Code : CF
Country : Congo     :  Country Code : CG
Country : Switzerland     :  Country Code : CH
Country : Côte d'Ivoire     :  Country Code : CI
Country : Cook Islands     :  Country Code : CK
Country : Chile     :  Country Code : CL
Country : Cameroon     :  Country Code : CM
Country : China     :  Country Code : CN
Country : Colombia     :  Country Code : CO
Country : Costa Rica     :  Country Code : CR
Country : Cuba     :  Country Code : CU
Country : Cape Verde     :  Country Code : CV
Country : Curaçao     :  Country Code : CW
Country : Christmas Island     :  Country Code : CX
Country : Cyprus     :  Country Code : CY
Country : Czech Republic     :  Country Code : CZ
Country : Germany     :  Country Code : DE
Country : Djibouti     :  Country Code : DJ
Country : Denmark     :  Country Code : DK
Country : Dominica     :  Country Code : DM
Country : Dominican Republic     :  Country Code : DO
Country : Algeria     :  Country Code : DZ
Country : Ecuador     :  Country Code : EC
Country : Estonia     :  Country Code : EE
Country : Egypt     :  Country Code : EG
Country : Western Sahara     :  Country Code : EH
Country : Eritrea     :  Country Code : ER
Country : Spain     :  Country Code : ES
Country : Ethiopia     :  Country Code : ET
Country : Finland     :  Country Code : FI
Country : Fiji     :  Country Code : FJ
Country : Falkland Islands     :  Country Code : FK
Country : Micronesia     :  Country Code : FM
Country : Faroe Islands     :  Country Code : FO
Country : France     :  Country Code : FR
Country : Gabon     :  Country Code : GA
Country : United Kingdom     :  Country Code : GB
Country : Grenada     :  Country Code : GD
Country : Georgia     :  Country Code : GE
Country : French Guiana     :  Country Code : GF
Country : Guernsey     :  Country Code : GG
Country : Ghana     :  Country Code : GH
Country : Gibraltar     :  Country Code : GI
Country : Greenland     :  Country Code : GL
Country : Gambia     :  Country Code : GM
Country : Guinea     :  Country Code : GN
Country : Guadeloupe     :  Country Code : GP
Country : Equatorial Guinea     :  Country Code : GQ
Country : Greece     :  Country Code : GR
Country : South Georgia And The South Sandwich Islands     :  Country Code : GS
Country : Guatemala     :  Country Code : GT
Country : Guam     :  Country Code : GU
Country : Guinea-Bissau     :  Country Code : GW
Country : Guyana     :  Country Code : GY
Country : Hong Kong     :  Country Code : HK
Country : Heard Island And McDonald Islands     :  Country Code : HM
Country : Honduras     :  Country Code : HN
Country : Croatia     :  Country Code : HR
Country : Haiti     :  Country Code : HT
Country : Hungary     :  Country Code : HU
Country : Indonesia     :  Country Code : ID
Country : Ireland     :  Country Code : IE
Country : Israel     :  Country Code : IL
Country : Isle Of Man     :  Country Code : IM
Country : India     :  Country Code : IN
Country : British Indian Ocean Territory     :  Country Code : IO
Country : Iraq     :  Country Code : IQ
Country : Iran     :  Country Code : IR
Country : Iceland     :  Country Code : IS
Country : Italy     :  Country Code : IT
Country : Jersey     :  Country Code : JE
Country : Jamaica     :  Country Code : JM
Country : Jordan     :  Country Code : JO
Country : Japan     :  Country Code : JP
Country : Kenya     :  Country Code : KE
Country : Kyrgyzstan     :  Country Code : KG
Country : Cambodia     :  Country Code : KH
Country : Kiribati     :  Country Code : KI
Country : Comoros     :  Country Code : KM
Country : Saint Kitts And Nevis     :  Country Code : KN
Country : North Korea     :  Country Code : KP
Country : South Korea     :  Country Code : KR
Country : Kuwait     :  Country Code : KW
Country : Cayman Islands     :  Country Code : KY
Country : Kazakhstan     :  Country Code : KZ
Country : Laos     :  Country Code : LA
Country : Lebanon     :  Country Code : LB
Country : Saint Lucia     :  Country Code : LC
Country : Liechtenstein     :  Country Code : LI
Country : Sri Lanka     :  Country Code : LK
Country : Liberia     :  Country Code : LR
Country : Lesotho     :  Country Code : LS
Country : Lithuania     :  Country Code : LT
Country : Luxembourg     :  Country Code : LU
Country : Latvia     :  Country Code : LV
Country : Libya     :  Country Code : LY
Country : Morocco     :  Country Code : MA
Country : Monaco     :  Country Code : MC
Country : Moldova     :  Country Code : MD
Country : Montenegro     :  Country Code : ME
Country : Saint Martin     :  Country Code : MF
Country : Madagascar     :  Country Code : MG
Country : Marshall Islands     :  Country Code : MH
Country : Macedonia     :  Country Code : MK
Country : Mali     :  Country Code : ML
Country : Myanmar     :  Country Code : MM
Country : Mongolia     :  Country Code : MN
Country : Macao     :  Country Code : MO
Country : Northern Mariana Islands     :  Country Code : MP
Country : Martinique     :  Country Code : MQ
Country : Mauritania     :  Country Code : MR
Country : Montserrat     :  Country Code : MS
Country : Malta     :  Country Code : MT
Country : Mauritius     :  Country Code : MU
Country : Maldives     :  Country Code : MV
Country : Malawi     :  Country Code : MW
Country : Mexico     :  Country Code : MX
Country : Malaysia     :  Country Code : MY
Country : Mozambique     :  Country Code : MZ
Country : Namibia     :  Country Code : NA
Country : New Caledonia     :  Country Code : NC
Country : Niger     :  Country Code : NE
Country : Norfolk Island     :  Country Code : NF
Country : Nigeria     :  Country Code : NG
Country : Nicaragua     :  Country Code : NI
Country : Netherlands     :  Country Code : NL
Country : Norway     :  Country Code : NO
Country : Nepal     :  Country Code : NP
Country : Nauru     :  Country Code : NR
Country : Niue     :  Country Code : NU
Country : New Zealand     :  Country Code : NZ
Country : Oman     :  Country Code : OM
Country : Panama     :  Country Code : PA
Country : Peru     :  Country Code : PE
Country : French Polynesia     :  Country Code : PF
Country : Papua New Guinea     :  Country Code : PG
Country : Philippines     :  Country Code : PH
Country : Pakistan     :  Country Code : PK
Country : Poland     :  Country Code : PL
Country : Saint Pierre And Miquelon     :  Country Code : PM
Country : Pitcairn     :  Country Code : PN
Country : Puerto Rico     :  Country Code : PR
Country : Palestine     :  Country Code : PS
Country : Portugal     :  Country Code : PT
Country : Palau     :  Country Code : PW
Country : Paraguay     :  Country Code : PY
Country : Qatar     :  Country Code : QA
Country : Reunion     :  Country Code : RE
Country : Romania     :  Country Code : RO
Country : Serbia     :  Country Code : RS
Country : Russia     :  Country Code : RU
Country : Rwanda     :  Country Code : RW
Country : Saudi Arabia     :  Country Code : SA
Country : Solomon Islands     :  Country Code : SB
Country : Seychelles     :  Country Code : SC
Country : Sudan     :  Country Code : SD
Country : Sweden     :  Country Code : SE
Country : Singapore     :  Country Code : SG
Country : Saint Helena     :  Country Code : SH
Country : Slovenia     :  Country Code : SI
Country : Svalbard And Jan Mayen     :  Country Code : SJ
Country : Slovakia     :  Country Code : SK
Country : Sierra Leone     :  Country Code : SL
Country : San Marino     :  Country Code : SM
Country : Senegal     :  Country Code : SN
Country : Somalia     :  Country Code : SO
Country : Suriname     :  Country Code : SR
Country : Sao Tome And Principe     :  Country Code : ST
Country : El Salvador     :  Country Code : SV
Country : Sint Maarten (Dutch part)     :  Country Code : SX
Country : Syria     :  Country Code : SY
Country : Swaziland     :  Country Code : SZ
Country : Turks And Caicos Islands     :  Country Code : TC
Country : Chad     :  Country Code : TD
Country : French Southern Territories     :  Country Code : TF
Country : Togo     :  Country Code : TG
Country : Thailand     :  Country Code : TH
Country : Tajikistan     :  Country Code : TJ
Country : Tokelau     :  Country Code : TK
Country : Timor-Leste     :  Country Code : TL
Country : Turkmenistan     :  Country Code : TM
Country : Tunisia     :  Country Code : TN
Country : Tonga     :  Country Code : TO
Country : Turkey     :  Country Code : TR
Country : Trinidad and Tobago     :  Country Code : TT
Country : Tuvalu     :  Country Code : TV
Country : Taiwan     :  Country Code : TW
Country : Tanzania     :  Country Code : TZ
Country : Ukraine     :  Country Code : UA
Country : Uganda     :  Country Code : UG
Country : United States Minor Outlying Islands     :  Country Code : UM
Country : United States     :  Country Code : US
Country : Uruguay     :  Country Code : UY
Country : Uzbekistan     :  Country Code : UZ
Country : Vatican     :  Country Code : VA
Country : Saint Vincent And The Grenadines     :  Country Code : VC
Country : Venezuela     :  Country Code : VE
Country : British Virgin Islands     :  Country Code : VG
Country : U.S. Virgin Islands     :  Country Code : VI
Country : Vietnam     :  Country Code : VN
Country : Vanuatu     :  Country Code : VU
Country : Wallis And Futuna     :  Country Code : WF
Country : Samoa     :  Country Code : WS
Country : Yemen     :  Country Code : YE
Country : Mayotte     :  Country Code : YT
Country : South Africa     :  Country Code : ZA
Country : Zambia     :  Country Code : ZM
Country : Zimbabwe     :  Country Code : ZW 
以前のエントリではJava SE 8のLambdaとStream APIを使っていました。それでは、"display country"プロパティでロケールを並べ替える呼び出しを含むコードをご紹介しましょう。
package foo;

import java.util.Arrays;
import java.util.Locale;

/**
 * @author bruno borges
 */
public class Foo {

    public static void main(String[] args) {
        final String formatOutput = "Country : %s \t\t\t\t:\t Country Code : %s";

        List<String> list = 
           Arrays.asList(Locale.getISOCountries())
            .stream()
            .map(c -> new Locale("", c))
            .sorted((c0, c1) -> c0.getDisplayCountry().compareTo(c1.getDisplayCountry()))
            .map(l -> String.format(formatOutput, l.getDisplayCountry(), l.getCountry()))
            .collect(Collectors.toList());

        list.forEach(System.out::println);
    }

}
標準出力ではなく結果をリストに保存したい場合には、最後の
forEach

collect(Collectors.toList());
に変更して、変数に割り当てましょう。

0 件のコメント:

コメントを投稿