package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String... args) {
Pattern pattern = Pattern.compile("([A-Z]{2})\\s+(\\d)");
Matcher matcher = pattern.matcher(zones());
Set<Country> countries = new HashSet<>();
while(matcher.find()) {
String tag = matcher.group(1);
int index = Integer.parseInt(matcher.group(2));
countries.add(new Country(index, tag));
}
System.out.println(countries);
Set<PostalInformation> postalInformations = new HashSet<>();
try(StringReader stringReader = new StringReader(postInformation());
BufferedReader reader = new BufferedReader(stringReader)) {
String line;
while((line = reader.readLine()) != null) {
String[] info = line.split(";");
String tag = info[0];
String minZipCode = info[1];
String maxZipCode = info[2];
String region = info[3];
String country = info[4];
postalInformations.add(new PostalInformation(tag, minZipCode, maxZipCode, region, country));
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(postalInformations);
Map<String, PostalInformation> tagged = new HashMap<>();
for(PostalInformation information : postalInformations) {
tagged.put(information.getTag(), information);
}
for(Country country : countries) {
System.out.println(country + " - " + tagged.get(country.getTag()));
}
}
private static String zones() {
return "A Afghanistan AF 8 - 4 Int\n" +
"Ägypten EG 6 4-6 2 Int\n" +
"Albanien AL 3 - 1 Int\n" +
"Algerien DZ 6 4-7 1 Int\n" +
"Andorra AD 2 3-4 1 Int\n" +
"Angola AO 8 - 4 Int\n" +
"Anguilla AI 8 - 3 Int\n" +
"Antigua und\n" +
"Barbuda\n" +
"\n" +
"AG 8 - 3 Int\n" +
"\n" +
"Antillen (NL)\n" +
"aufgelöst\n" +
"\n" +
"AN 8 - 2 Int\n" +
"Argentinien AR 6 4-7 2 Int\n" +
"Armenien AM 8 - 2 Int\n" +
"Aruba (NL) AW 8 - 2 Int\n" +
"Aserbaidschan AZ 8 - 2 Int\n" +
"Äthiopien ET 8 - 2 Int\n" +
"Australien AU 6 5-8 3 Int\n" +
"B Bahamas BS 8 - 2 Int\n" +
"Bahrain BH 6 4-5 2 Int\n" +
"Bangladesch BD 8 - 2 Int\n" +
"Barbados BB 8 - 2 Int\n" +
"Belgien BE 1 1-2 1 ✓ Eu\n" +
"Belize BZ 8 - 3 Int\n" +
"Benin BJ 7 5-7 2 Int\n" +
"Bermuda BM 8 - 2 Int\n" +
"BES-Inseln (NL):\n" +
"Bonaire, Saba,\n" +
"Sint Eustatius\n" +
"\n" +
"BQ 8 - 2 Int\n" +
"Bhutan BT 8 - 4 Int\n" +
"Bolivien BO 7 6-8 4 Int\n" +
"Bosnien und\n" +
"Herzegowina\n" +
"\n" +
"BA 1 4-7 1 Eu\n" +
"Botswana BW 8 - 3 Int\n" +
"Brasilien BR 6 4-8 2 Int\n" +
"Brunei Darussalam BN 6 5-6 3 Int\n" +
"Bulgarien BG 1 3-5 1 ✓ Eu\n" +
"Burkina Faso BF 7 5-7 3 Int\n" +
"\n" +
"Classic\n" +
"Service\n" +
"Express\n" +
"Service\n" +
"\n" +
"Land\n" +
"\n" +
"Code\n" +
"Zone\n" +
"DPD CLASSIC\n" +
"Guarantee\n" +
"2\n" +
"DPD\n" +
"EXPRESS\n" +
"3\n" +
"DPD 12:00\n" +
"4\n" +
"DPD 10:00\n" +
"4\n" +
"\n" +
"Insel-/Area-\n" +
"Zuschlag\n" +
"\n" +
"5\n" +
"EU-Zollgebiet\n" +
"6\n" +
"Preisliste\n" +
"Burundi BI 8 - 3 Int\n" +
"C\n" +
"Ceuta und Melilla\n" +
"(PLZ 51 + 52)\n" +
"\n" +
"ES 3 5-6 3 ✓ Int\n" +
"Chile CL 6 4-7 2 Int\n" +
"China CN 5 4-9 2 Int\n" +
"Cook Inseln CK 8 - 4 Int\n" +
"Costa Rica CR 8 - 2 Int\n" +
"Curacao (NL) CW 8 - 2 Int\n" +
"D Dänemark DK 1 1-2 1 ✓ Eu\n" +
"Dom. Republik DO 8 - 3 Int\n" +
"Dominica DM 8 - 3 Int\n" +
"Dschibuti DJ 8 - 3 Int\n" +
"E Ecuador EC 7 5-7 2 Int\n" +
"El Salvador SV 8 - 2 Int\n" +
"Elfenbeinküste CI 7 5-7 2 Int\n" +
"Eritrea ER 8 - 3 Int\n" +
"Estland EE 1 3-4 1 ✓ Eu\n" +
"F Falklandinseln FK 8 - 6 Int\n" +
"Färöer Inseln FO 3 - 3 Int\n" +
"Fidschi FJ 8 - 4 Int\n" +
"Finnland\n" +
"(inkl. Aland Inseln)\n" +
"\n" +
"FI 1 3-6 1 ✓ Eu\n" +
"\n" +
"Frankreich\n" +
"(inkl. Korsika)\n" +
"\n" +
"FR 1 1-3 1 ✓ Eu\n" +
"\n" +
"Franz.-Polynesien\n" +
"(F)\n" +
"\n" +
"PF 8 - 3 Int\n" +
"G Gabun GA 8 - 2 Int\n" +
"Gambia GM 8 - 3 Int\n" +
"Georgien GE 8 - 2 Int\n" +
"Ghana GH 7 4-7 2 Int\n" +
"Gibraltar GI 3 - 2 ✓ Int\n" +
"Grenada GD 8 - 3 Int\n" +
"Griechenland GR 1 4-7 1 ✓ Eu\n" +
"Grönland GL 8 - 2 ✓ Int\n" +
"Großbritannien\n" +
"(inkl. Nordirland)\n" +
"\n" +
"GB 1 2-3 1 ✓ Eu\n" +
"Guadeloupe (F) GP 7 5-6 2 ✓ Int";
}
private static String postInformation() {
return "AT;0;9999;EU;ÖSTERREICH\n" +
"BA;0;99999;EU;BOSNIEN-HERZEGOWINA\n" +
"BE;0;9999;EU;BELGIEN\n" +
"BG;0;9999;EU;BULGARIEN\n" +
"CZ;0;999999;EU;TSCHECHISCHE REPUBLIK\n" +
"DE;0;99999;EU;DEUTSCHLAND\n" +
"DK;0;9999;EU;DÄNEMARK\n" +
"EE;0;99999;EU;ESTLAND\n" +
"ES;0;99999;EU;SPANIEN\n" +
"FI;0;99999;EU;FINNLAND\n" +
"FR;0;99999;EU;FRANKREICH\n" +
"GB;0;ZZZZZZZZ;EU;GROSSBRITANNIEN\n" +
"GG;0;ZZZZZZZZ;EU;GUERNSEY / GROSSBRITANNIEN\n" +
"GR;0;999999;EU;GRIECHENLAND\n" +
"HR;0;99999;EU;KROATIEN\n" +
"HU;0;9999;EU;UNGARN\n" +
"IE;0;ZZZZZZZZ;EU;IRLAND\n" +
"IM;0;ZZZZZZZZ;EU;ISLE OF MAN / GROSSBRITANNIEN\n" +
"IS;0;999;EU;ISLAND\n" +
"IT;0;99999;EU;ITALIEN\n" +
"JE;0;ZZZZZZZZ;EU;JERSEY / GROSSBRITANNIEN\n" +
"LT;0;ZZZZZZZZ;EU;LITAUEN\n" +
"LU;0;9999;EU;LUXEMBURG\n" +
"LV;0;ZZZZZZZ;EU;LETTLAND\n" +
"MC;0;99999;EU;MONACO\n" +
"NL;0;ZZZZZZZ;EU;NIEDERLANDE\n" +
"NO;0;9999;EU;NORWEGEN\n" +
"PL;0;999999;EU;POLEN\n" +
"PT;0;99999999;EU;PORTUGAL\n" +
"RO;0;999999;EU;RUMÄNIEN\n" +
"RS;0;99999;EU;SERBIEN\n" +
"SE;0;999999;EU;SCHWEDEN\n" +
"SI;0;9999;EU;SLOWENIEN\n" +
"SK;0;999999;EU;SLOWAKEI\n" +
"VA;0;99999;EU;VATIKANSTADT\n" +
"AD;0;ZZZZZ;WW;ANDORRA\n" +
"AE;0;99999;WW;VEREINIGTE ARABISCHE EMIRATE\n" +
"AF;0;9999;WW;AFGHANISTAN\n" +
"AG;0;99999;WW;ANTIGUA UND BARBUDA\n" +
"AI;0;ZZZZZZZ;WW;ANGUILLA\n" +
"AL;0;9999;WW;ALBANIEN\n" +
"AM;0;9999;WW;ARMENIEN\n" +
"AN;0;ZZZZZZZ;WW;NIEDERLÄNDISCHE ANTILLEN\n" +
"AO;0;99999;WW;ANGOLA\n" +
"AQ;0;ZZZZZZZZ;WW;ANTARKTIKA\n" +
"AR;0;ZZZZZZZZ;WW;ARGENTINIEN\n" +
"AS;0;ZZZZZZZZZZ;WW;AMERIKANISCH-SAMOA\n" +
"AU;0;9999;WW;AUSTRALIEN\n" +
"AW;0;ZZZZZZZ;WW;ARUBA\n" +
"AX;0;ZZZZZZZZ;WW;ALAND INSELN\n" +
"AZ;0;ZZZZZZ;WW;ASERBAIDSCHAN\n" +
"BB;0;ZZZZZZZ;WW;BARBADOS\n" +
"BD;0;9999;WW;BANGLADESCH\n" +
"BF;0;99999;WW;BURKINA FASO\n" +
"BH;0;9999;WW;BAHRAIN\n" +
"BI;0;99999;WW;BURUNDI\n" +
"BJ;0;99999;WW;BENIN\n" +
"BL;0;99999;WW;SAINT BARTHOLEMY\n" +
"BM;0;ZZZZZ;WW;BERMUDA\n" +
"BN;0;ZZZZZZ;WW;BRUNEI\n" +
"BO;0;99999;WW;BOLIVIEN\n" +
"BQ;0;ZZZZZZZ;WW;BONAIRE-SABA-SINT EUSTATIUS\n" +
"BR;0;999999999;WW;BRASILIEN\n" +
"BS;0;99999;WW;BAHAMAS\n" +
"BT;0;99999;WW;BHUTAN\n" +
"BV;0;9999;WW;BOUVETINSEL\n" +
"BW;0;99999;WW;BOTSUANA\n" +
"BY;0;999999;WW;WEISSRUSSLAND (BELARUS)\n" +
"BZ;0;99999;WW;BELIZE\n" +
"CA;0;ZZZZZZZ;WW;KANADA\n" +
"CC;0;9999;WW;KOKOS INSELN\n" +
"CD;0;99999;WW;DEMOKRATISCHE REPUBLIK KONGO\n" +
"CF;0;99999;WW;ZENTRALAFRIKANISCHE REPUBLIK\n" +
"CG;0;99999;WW;KONGO\n" +
"CH;0;9999;WW;SCHWEIZ\n" +
"CI;0;99999;WW;ELFENBEINKÜSTE\n" +
"CK;0;9999999;WW;NEUSEELÄNDISCH-OZEANIEN\n" +
"CL;0;99999999;WW;CHILE\n" +
"CM;0;99999;WW;KAMERUN\n" +
"CN;0;999999;WW;CHINA\n" +
"CO;0;999999;WW;KOLUMBIEN\n" +
"CR;0;99999;WW;COSTA RICA\n" +
"CU;0;99999;WW;KUBA\n" +
"CV;0;9999;WW;KAP VERD\n" +
"CW;0;ZZZZZZZ;WW;CURACAO\n" +
"CX;0;9999;WW;WEIHNACHTSINSEL\n" +
"CY;0;9999;WW;ZYPERN\n" +
"DJ;0;99999;WW;DSCHIBUTI\n" +
"DM;0;99999;WW;DOMINICA\n" +
"DO;0;99999;WW;DOMINIKANISCHE REPUBLIK\n" +
"DZ;0;99999;WW;ALGERIEN\n" +
"EC;0;999999;WW;ECUADOR\n" +
"EG;0;99999;WW;ÄGYPTEN\n" +
"EH;0;99999;WW;WESTSAHARA\n" +
"ER;0;99999;WW;ERITREA\n" +
"ET;0;9999;WW;ÄTHIOPIEN\n" +
"FJ;0;99999;WW;FIDSCHI\n" +
"FK;0;ZZZZZZZZ;WW;FALKLANDINSELN UND ZUG.GEBIETE\n" +
"FM;0;ZZZZZZZZZZ;WW;MIKRONESIEN\n" +
"FO;0;999;WW;FÄROER\n" +
"GA;0;99999;WW;GABUN\n" +
"GD;0;99999;WW;GRENADA\n" +
"GE;0;9999;WW;GEORGIEN\n" +
"GF;0;ZZZZZ;WW;FRANZÖSISCH-GUAYANA\n" +
"GH;0;99999;WW;GHANA\n" +
"GI;0;ZZZZZZZZ;WW;GIBRALTAR\n" +
"GL;0;9999;WW;GRÖNLAND\n" +
"GM;0;99999;WW;GAMBIA\n" +
"GN;0;999;WW;GUINEA\n" +
"GP;0;99999;WW;GUADELOUPE\n" +
"GQ;0;99999;WW;ÄQUATORIALGUINEA\n" +
"GS;0;ZZZZZZZZ;WW;SÜDGEORGIEN UND DIE SÜDLICHEN SANDWICHINSELN\n" +
"GT;0;99999;WW;GUATEMALA\n" +
"GU;0;9999999999;WW;GUAM\n" +
"GW;0;9999;WW;GUINEA-BISSAU\n" +
"GY;0;99999;WW;GUYANA\n" +
"HK;0;99999;WW;HONGKONG\n" +
"HM;0;9999;WW;HEARD UND MCDONALDINSELN\n" +
"HN;0;ZZZZZZZ;WW;HONDURAS\n" +
"HT;0;9999;WW;HAITI\n" +
"IC;0;99999;WW;KANARISCHE INSELN\n" +
"ID;0;99999;WW;INDONESIEN\n" +
"IL;0;9999999;WW;ISRAEL\n" +
"IN;0;9999999;WW;INDIEN\n" +
"IO;0;ZZZZZZZZ;WW;BR. GEBIETE IM INDISCHEN OZEAN\n" +
"IQ;0;99999;WW;IRAK\n" +
"IR;0;9999999999;WW;IRAN\n" +
"JM;0;99;WW;JAMAIKA\n" +
"JO;0;99999;WW;JORDANIEN\n" +
"JP;0;99999999;WW;JAPAN\n" +
"KE;0;99999;WW;KENIA\n" +
"KG;0;999999;WW;KIRGISISTAN\n" +
"KH;0;99999;WW;KAMPUTSCHEA (KAMBODSCHA)\n" +
"KI;0;99999;WW;KIRIBATI\n" +
"KM;0;99999;WW;KOMOREN\n" +
"KN;0;99999;WW;ST.CHRISTOPH UND NEVIS\n" +
"KP;0;99999;WW;KOREA, DEMOKRAT. VOLKSREPUBLIK\n" +
"KR;0;99999;WW;KOREA, REPUBLIK\n" +
"KW;0;99999;WW;KUWAIT\n" +
"KY;0;ZZZZZZZZ;WW;KAIMANINSELN\n" +
"KZ;0;999999;WW;KASACHSTAN\n" +
"LA;0;99999;WW;LAOS\n" +
"LB;0;999999999;WW;LIBANON\n" +
"LC;0;ZZZZZZZZ;WW;ST.LUCIA\n" +
"LI;0;9999;WW;LIECHTENSTEIN\n" +
"LK;0;99999;WW;SRI LANKA (CEYLON)\n" +
"LR;0;9999;WW;LIBERIA\n" +
"LS;0;999;WW;LESOTHO\n" +
"LY;0;99999;WW;LIBYEN\n" +
"MA;0;99999;WW;MAROKKO\n" +
"MD;0;ZZZZZZZ;WW;MOLDAWIEN\n" +
"ME;0;99999;WW;MONTENEGRO\n" +
"MF;0;99999;WW;SAINT MARTIN\n" +
"MG;0;999;WW;MADAGASKAR\n" +
"MH;0;ZZZZZZZZZZ;WW;MARSHALL-INSELN\n" +
"MK;0;9999;WW;MAZEDONIEN, EHEM. JUGOSL. REP.\n" +
"ML;0;99999;WW;MALI\n" +
"MM;0;99999;WW;MYANMAR\n" +
"MN;0;999999;WW;MONGOLEI\n" +
"MO;0;99999;WW;MACAU\n" +
"MP;0;ZZZZZZZZZZ;WW;NÖRDLICHE MARIANEN\n" +
"MQ;0;99999;WW;MARTINIQUE\n" +
"MR;0;99999;WW;MAURETANIEN\n" +
"MS;0;ZZZZZZZZ;WW;MONTSERRAT\n" +
"MT;0;ZZZZZZZZ;WW;MALTA\n" +
"MU;0;99999;WW;MAURITIUS\n" +
"MV;0;99999;WW;MALEDIVEN\n" +
"MW;0;99999;WW;MALAWI\n" +
"MX;0;99999;WW;MEXIKO\n" +
"MY;0;99999;WW;MALAYSIA\n" +
"MZ;0;9999;WW;MOSAMBIK\n" +
"NA;0;99999;WW;NAMIBIA\n" +
"NC;0;99999;WW;NEUKALEDONIEN UND ZUG.GEBIETE\n" +
"NE;0;9999;WW;NIGER\n" +
"NF;0;9999;WW;NORFOLKINSEL\n" +
"NG;0;999999;WW;NIGERIA\n" +
"NI;0;99999;WW;NICARAGUA\n" +
"NP;0;99999;WW;NEPAL\n" +
"NR;0;99999;WW;NAURU\n" +
"NU;0;9999999;WW;NIUE\n" +
"NZ;0;9999;WW;NEUSEELAND\n" +
"OM;0;999;WW;OMAN\n" +
"PA;0;9999;WW;PANAMA\n" +
"PE;0;99999;WW;PERU\n" +
"PF;0;ZZZZZ;WW;FRANZÖSISCH-POLYNESIEN\n" +
"PG;0;999;WW;PAPUA-NEUGUINEA\n" +
"PH;0;9999;WW;PHILIPPINEN\n" +
"PK;0;99999;WW;PAKISTAN\n" +
"PM;0;99999;WW;ST.PIERRE UND MIQUELON\n" +
"PN;0;ZZZZZZZZ;WW;PITCAIRNINSELN\n" +
"PR;0;ZZZZZZZZZZ;WW;PUERTO RICO\n" +
"PS;0;999;WW;PALÄSTINA\n" +
"PW;0;ZZZZZZZZZZ;WW;PALAU\n" +
"PY;0;9999;WW;PARAGUAY\n" +
"QA;0;99999;WW;KATAR\n" +
"RE;0;99999;WW;REUNION\n" +
"RU;0;999999;WW;RUSSLAND\n" +
"RW;0;99999;WW;RUANDA\n" +
"SA;0;9999999999;WW;SAUDI-ARABIEN\n" +
"SB;0;999;WW;SALOMONEN\n" +
"SC;0;99999;WW;SEYCHELLEN UND ZUGEHÖRIGE GEBI\n" +
"SD;0;99999;WW;SUDAN\n" +
"SG;0;999999;WW;SINGAPUR\n" +
"SH;0;ZZZZZZZZ;WW;ST.HELENA UND ZUGEHÖRIGE GEBIE\n" +
"SJ;0;9999;WW;SVALBARD\n" +
"SL;0;99999;WW;SIERRA LEONE\n" + // ([A-Z][A-Z])([0]) (\p{Nl})
"SM;0;99999;WW;SAN MARINO\n" +
"SN;0;99999;WW;SENEGAL\n" +
"SO;0;ZZZZZZZZ;WW;SOMALIA\n" +
"SR;0;99999;WW;SURINAM\n" +
"SS;0;99999;WW;SÜDSUDAN\n" +
"ST;0;99999;WW;SAO TOME UND PRINCIPE\n" +
"SV;0;9999;WW;EL SALVADOR\n" +
"SX;0;9999;WW;SINT MAARTEN\n" +
"SY;0;99999;WW;SYRIEN\n" +
"SZ;0;ZZZZ;WW;SWASILAND\n" +
"TC;0;ZZZZZZZZ;WW;TURKS UND CAICOSINSELN\n" +
"TD;0;99999;WW;TSCHAD\n" +
"TF;0;99999;WW;FRANZÖSISCHE SÜD- UND ANTARKTISGEBIETE\n" +
"TG;0;99999;WW;TOGO\n" +
"TH;0;99999;WW;THAILAND\n" +
"TJ;0;999999;WW;TADSCHIKISTAN\n" +
"TK;0;9999;WW;TOKELAU\n" +
"TL;0;99999;WW;TIMOR-LESTE (OST)\n" +
"TM;0;999999;WW;TURKMENISTAN\n" +
"TN;0;9999;WW;TUNESIEN\n" +
"TO;0;99999;WW;TONGA\n" +
"TR;0;99999;WW;TÜRKEI\n" +
"TT;0;999999;WW;TRINIDAD UND TOBAGO\n" +
"TV;0;99999;WW;TUVALU\n" +
"TW;0;999999;WW;TAIWAN\n" +
"TZ;0;99999;WW;TANSANIA\n" +
"UA;0;99999;WW;UKRAINE\n" +
"UG;0;99999;WW;UGANDA\n" +
"UM;0;ZZZZZZZZZZ;WW;UNITED STATES MINOR OUTLYING ISLANDS\n" +
"US;0;ZZZZZZZZZZ;WW;USA\n" +
"UY;0;99999;WW;URUGUAY\n" +
"UZ;0;999999;WW;USBEKISTAN\n" +
"VC;0;ZZZZZZ;WW;ST.VINCENT\n" +
"VE;0;ZZZZZZ;WW;VENEZUELA\n" +
"VG;0;ZZZZZZ;WW;JUNGFERNINSELN (BRITISCH)\n" +
"VI;0;ZZZZZZZZZZ;WW;JUNGFERNINSELN (AMERIKANISCH)\n" +
"VN;0;999999;WW;VIETNAM\n" +
"VU;0;99999;WW;VANUATU\n" +
"WF;0;99999;WW;WALLIS UND FUTUNA (F)\n" +
"WS;0;ZZZZZZ;WW;WESTSAMOA\n" +
"YE;0;99999;WW;JEMEN\n" +
"YT;0;99999;WW;MAYOTT\n" +
"ZA;0;9999;WW;SÜDAFRIKA\n" +
"ZM;0;99999;WW;SAMBIA\n" +
"ZW;0;99999;WW;SIMBABWE";
}
}
class PostalInformation {
private final String tag;
private final String minZipCode;
private final String maxZipCode;
private final String region;
private final String country;
public PostalInformation(String tag, String minZipCode, String maxZipCode, String region, String country) {
this.tag = tag;
this.minZipCode = minZipCode;
this.maxZipCode = maxZipCode;
this.region = region;
this.country = country;
}
public String getTag() {
return tag;
}
public String getMinZipCode() {
return minZipCode;
}
public String getMaxZipCode() {
return maxZipCode;
}
public String getRegion() {
return region;
}
public String getCountry() {
return country;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof PostalInformation)) return false;
PostalInformation that = (PostalInformation) o;
return Objects.equals(minZipCode, that.minZipCode) &&
Objects.equals(maxZipCode, that.maxZipCode) &&
Objects.equals(tag, that.tag) &&
Objects.equals(region, that.region) &&
Objects.equals(country, that.country);
}
@Override
public int hashCode() {
return Objects.hash(tag, minZipCode, maxZipCode, region, country);
}
@Override
public String toString() {
return "PostalInformation{" +
"tag='" + tag + '\'' +
", minZipCode=" + minZipCode +
", maxZipCode=" + maxZipCode +
", region='" + region + '\'' +
", country='" + country + '\'' +
'}';
}
}
class Country {
private final int index;
private final String tag;
public Country(int index, String tag) {
this.index = index;
this.tag = tag;
}
public int getIndex() {
return index;
}
public String getTag() {
return tag;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Country)) return false;
Country country = (Country) o;
return index == country.index &&
Objects.equals(tag, country.tag);
}
@Override
public int hashCode() {
return Objects.hash(index, tag);
}
@Override
public String toString() {
return "Country{" +
"index=" + index +
", tag='" + tag + '\'' +
'}';
}
}