Skip to content

Commit 37c5413

Browse files
author
Bruce Eckel
committed
chapter progress
1 parent d8a46db commit 37c5413

File tree

12 files changed

+797
-194
lines changed

12 files changed

+797
-194
lines changed

onjava/Countries.java

Lines changed: 156 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -10,129 +10,206 @@
1010
public class Countries {
1111
public static final String[][] DATA = {
1212
// Africa
13-
{"ALGERIA","Algiers"}, {"ANGOLA","Luanda"},
14-
{"BENIN","Porto-Novo"}, {"BOTSWANA","Gaberone"},
13+
{"ALGERIA","Algiers"},
14+
{"ANGOLA","Luanda"},
15+
{"BENIN","Porto-Novo"},
16+
{"BOTSWANA","Gaberone"},
1517
{"BURKINA FASO","Ouagadougou"},
1618
{"BURUNDI","Bujumbura"},
17-
{"CAMEROON","Yaounde"}, {"CAPE VERDE","Praia"},
19+
{"CAMEROON","Yaounde"},
20+
{"CAPE VERDE","Praia"},
1821
{"CENTRAL AFRICAN REPUBLIC","Bangui"},
19-
{"CHAD","N'djamena"}, {"COMOROS","Moroni"},
20-
{"CONGO","Brazzaville"}, {"DJIBOUTI","Dijibouti"},
21-
{"EGYPT","Cairo"}, {"EQUATORIAL GUINEA","Malabo"},
22-
{"ERITREA","Asmara"}, {"ETHIOPIA","Addis Ababa"},
23-
{"GABON","Libreville"}, {"THE GAMBIA","Banjul"},
24-
{"GHANA","Accra"}, {"GUINEA","Conakry"},
22+
{"CHAD","N'djamena"},
23+
{"COMOROS","Moroni"},
24+
{"CONGO","Brazzaville"},
25+
{"DJIBOUTI","Dijibouti"},
26+
{"EGYPT","Cairo"},
27+
{"EQUATORIAL GUINEA","Malabo"},
28+
{"ERITREA","Asmara"},
29+
{"ETHIOPIA","Addis Ababa"},
30+
{"GABON","Libreville"},
31+
{"THE GAMBIA","Banjul"},
32+
{"GHANA","Accra"},
33+
{"GUINEA","Conakry"},
2534
{"BISSAU","Bissau"},
2635
{"COTE D'IVOIR (IVORY COAST)","Yamoussoukro"},
27-
{"KENYA","Nairobi"}, {"LESOTHO","Maseru"},
28-
{"LIBERIA","Monrovia"}, {"LIBYA","Tripoli"},
29-
{"MADAGASCAR","Antananarivo"}, {"MALAWI","Lilongwe"},
30-
{"MALI","Bamako"}, {"MAURITANIA","Nouakchott"},
31-
{"MAURITIUS","Port Louis"}, {"MOROCCO","Rabat"},
32-
{"MOZAMBIQUE","Maputo"}, {"NAMIBIA","Windhoek"},
33-
{"NIGER","Niamey"}, {"NIGERIA","Abuja"},
36+
{"KENYA","Nairobi"},
37+
{"LESOTHO","Maseru"},
38+
{"LIBERIA","Monrovia"},
39+
{"LIBYA","Tripoli"},
40+
{"MADAGASCAR","Antananarivo"},
41+
{"MALAWI","Lilongwe"},
42+
{"MALI","Bamako"},
43+
{"MAURITANIA","Nouakchott"},
44+
{"MAURITIUS","Port Louis"},
45+
{"MOROCCO","Rabat"},
46+
{"MOZAMBIQUE","Maputo"},
47+
{"NAMIBIA","Windhoek"},
48+
{"NIGER","Niamey"},
49+
{"NIGERIA","Abuja"},
3450
{"RWANDA","Kigali"},
3551
{"SAO TOME E PRINCIPE","Sao Tome"},
36-
{"SENEGAL","Dakar"}, {"SEYCHELLES","Victoria"},
37-
{"SIERRA LEONE","Freetown"}, {"SOMALIA","Mogadishu"},
52+
{"SENEGAL","Dakar"},
53+
{"SEYCHELLES","Victoria"},
54+
{"SIERRA LEONE","Freetown"},
55+
{"SOMALIA","Mogadishu"},
3856
{"SOUTH AFRICA","Pretoria/Cape Town"},
3957
{"SUDAN","Khartoum"},
40-
{"SWAZILAND","Mbabane"}, {"TANZANIA","Dodoma"},
41-
{"TOGO","Lome"}, {"TUNISIA","Tunis"},
58+
{"SWAZILAND","Mbabane"},
59+
{"TANZANIA","Dodoma"},
60+
{"TOGO","Lome"},
61+
{"TUNISIA","Tunis"},
4262
{"UGANDA","Kampala"},
4363
{"DEMOCRATIC REPUBLIC OF THE CONGO (ZAIRE)",
4464
"Kinshasa"},
45-
{"ZAMBIA","Lusaka"}, {"ZIMBABWE","Harare"},
65+
{"ZAMBIA","Lusaka"},
66+
{"ZIMBABWE","Harare"},
4667
// Asia
47-
{"AFGHANISTAN","Kabul"}, {"BAHRAIN","Manama"},
48-
{"BANGLADESH","Dhaka"}, {"BHUTAN","Thimphu"},
68+
{"AFGHANISTAN","Kabul"},
69+
{"BAHRAIN","Manama"},
70+
{"BANGLADESH","Dhaka"},
71+
{"BHUTAN","Thimphu"},
4972
{"BRUNEI","Bandar Seri Begawan"},
5073
{"CAMBODIA","Phnom Penh"},
51-
{"CHINA","Beijing"}, {"CYPRUS","Nicosia"},
52-
{"INDIA","New Delhi"}, {"INDONESIA","Jakarta"},
53-
{"IRAN","Tehran"}, {"IRAQ","Baghdad"},
54-
{"ISRAEL","Jerusalem"}, {"JAPAN","Tokyo"},
55-
{"JORDAN","Amman"}, {"KUWAIT","Kuwait City"},
56-
{"LAOS","Vientiane"}, {"LEBANON","Beirut"},
57-
{"MALAYSIA","Kuala Lumpur"}, {"THE MALDIVES","Male"},
74+
{"CHINA","Beijing"},
75+
{"CYPRUS","Nicosia"},
76+
{"INDIA","New Delhi"},
77+
{"INDONESIA","Jakarta"},
78+
{"IRAN","Tehran"},
79+
{"IRAQ","Baghdad"},
80+
{"ISRAEL","Jerusalem"},
81+
{"JAPAN","Tokyo"},
82+
{"JORDAN","Amman"},
83+
{"KUWAIT","Kuwait City"},
84+
{"LAOS","Vientiane"},
85+
{"LEBANON","Beirut"},
86+
{"MALAYSIA","Kuala Lumpur"},
87+
{"THE MALDIVES","Male"},
5888
{"MONGOLIA","Ulan Bator"},
5989
{"MYANMAR (BURMA)","Rangoon"},
60-
{"NEPAL","Katmandu"}, {"NORTH KOREA","P'yongyang"},
61-
{"OMAN","Muscat"}, {"PAKISTAN","Islamabad"},
62-
{"PHILIPPINES","Manila"}, {"QATAR","Doha"},
63-
{"SAUDI ARABIA","Riyadh"}, {"SINGAPORE","Singapore"},
64-
{"SOUTH KOREA","Seoul"}, {"SRI LANKA","Colombo"},
90+
{"NEPAL","Katmandu"},
91+
{"NORTH KOREA","P'yongyang"},
92+
{"OMAN","Muscat"},
93+
{"PAKISTAN","Islamabad"},
94+
{"PHILIPPINES","Manila"},
95+
{"QATAR","Doha"},
96+
{"SAUDI ARABIA","Riyadh"},
97+
{"SINGAPORE","Singapore"},
98+
{"SOUTH KOREA","Seoul"},
99+
{"SRI LANKA","Colombo"},
65100
{"SYRIA","Damascus"},
66101
{"TAIWAN (REPUBLIC OF CHINA)","Taipei"},
67-
{"THAILAND","Bangkok"}, {"TURKEY","Ankara"},
102+
{"THAILAND","Bangkok"},
103+
{"TURKEY","Ankara"},
68104
{"UNITED ARAB EMIRATES","Abu Dhabi"},
69-
{"VIETNAM","Hanoi"}, {"YEMEN","Sana'a"},
105+
{"VIETNAM","Hanoi"},
106+
{"YEMEN","Sana'a"},
70107
// Australia and Oceania
71-
{"AUSTRALIA","Canberra"}, {"FIJI","Suva"},
108+
{"AUSTRALIA","Canberra"},
109+
{"FIJI","Suva"},
72110
{"KIRIBATI","Bairiki"},
73111
{"MARSHALL ISLANDS","Dalap-Uliga-Darrit"},
74-
{"MICRONESIA","Palikir"}, {"NAURU","Yaren"},
75-
{"NEW ZEALAND","Wellington"}, {"PALAU","Koror"},
112+
{"MICRONESIA","Palikir"},
113+
{"NAURU","Yaren"},
114+
{"NEW ZEALAND","Wellington"},
115+
{"PALAU","Koror"},
76116
{"PAPUA NEW GUINEA","Port Moresby"},
77-
{"SOLOMON ISLANDS","Honaira"}, {"TONGA","Nuku'alofa"},
78-
{"TUVALU","Fongafale"}, {"VANUATU","< Port-Vila"},
117+
{"SOLOMON ISLANDS","Honaira"},
118+
{"TONGA","Nuku'alofa"},
119+
{"TUVALU","Fongafale"},
120+
{"VANUATU","Port Vila"},
79121
{"WESTERN SAMOA","Apia"},
80122
// Eastern Europe and former USSR
81-
{"ARMENIA","Yerevan"}, {"AZERBAIJAN","Baku"},
123+
{"ARMENIA","Yerevan"},
124+
{"AZERBAIJAN","Baku"},
82125
{"BELARUS (BYELORUSSIA)","Minsk"},
83-
{"BULGARIA","Sofia"}, {"GEORGIA","Tbilisi"},
84-
{"KAZAKSTAN","Almaty"}, {"KYRGYZSTAN","Alma-Ata"},
85-
{"MOLDOVA","Chisinau"}, {"RUSSIA","Moscow"},
126+
{"BULGARIA","Sofia"},
127+
{"GEORGIA","Tbilisi"},
128+
{"KAZAKSTAN","Almaty"},
129+
{"KYRGYZSTAN","Alma-Ata"},
130+
{"MOLDOVA","Chisinau"},
131+
{"RUSSIA","Moscow"},
86132
{"TAJIKISTAN","Dushanbe"},
87133
{"TURKMENISTAN","Ashkabad"},
88-
{"UKRAINE","Kyiv"}, {"UZBEKISTAN","Tashkent"},
134+
{"UKRAINE","Kyiv"},
135+
{"UZBEKISTAN","Tashkent"},
89136
// Europe
90-
{"ALBANIA","Tirana"}, {"ANDORRA","Andorra la Vella"},
91-
{"AUSTRIA","Vienna"}, {"BELGIUM","Brussels"},
92-
{"BOSNIA","---"}, {"HERZEGOVINA","Sarajevo"},
93-
{"CROATIA","Zagreb"}, {"CZECH REPUBLIC","Prague"},
94-
{"DENMARK","Copenhagen"}, {"ESTONIA","Tallinn"},
95-
{"FINLAND","Helsinki"}, {"FRANCE","Paris"},
96-
{"GERMANY","Berlin"}, {"GREECE","Athens"},
97-
{"HUNGARY","Budapest"}, {"ICELAND","Reykjavik"},
98-
{"IRELAND","Dublin"}, {"ITALY","Rome"},
99-
{"LATVIA","Riga"}, {"LIECHTENSTEIN","Vaduz"},
100-
{"LITHUANIA","Vilnius"}, {"LUXEMBOURG","Luxembourg"},
101-
{"MACEDONIA","Skopje"}, {"MALTA","Valletta"},
102-
{"MONACO","Monaco"}, {"MONTENEGRO","Podgorica"},
103-
{"THE NETHERLANDS","Amsterdam"}, {"NORWAY","Oslo"},
104-
{"POLAND","Warsaw"}, {"PORTUGAL","Lisbon"},
105-
{"ROMANIA","Bucharest"}, {"SAN MARINO","San Marino"},
106-
{"SERBIA","Belgrade"}, {"SLOVAKIA","Bratislava"},
107-
{"SLOVENIA","Ljuijana"}, {"SPAIN","Madrid"},
108-
{"SWEDEN","Stockholm"}, {"SWITZERLAND","Berne"},
109-
{"UNITED KINGDOM","London"}, {"VATICAN CITY","---"},
137+
{"ALBANIA","Tirana"},
138+
{"ANDORRA","Andorra la Vella"},
139+
{"AUSTRIA","Vienna"},
140+
{"BELGIUM","Brussels"},
141+
{"BOSNIA-HERZEGOVINA","Sarajevo"},
142+
{"CROATIA","Zagreb"},
143+
{"CZECH REPUBLIC","Prague"},
144+
{"DENMARK","Copenhagen"},
145+
{"ESTONIA","Tallinn"},
146+
{"FINLAND","Helsinki"},
147+
{"FRANCE","Paris"},
148+
{"GERMANY","Berlin"},
149+
{"GREECE","Athens"},
150+
{"HUNGARY","Budapest"},
151+
{"ICELAND","Reykjavik"},
152+
{"IRELAND","Dublin"},
153+
{"ITALY","Rome"},
154+
{"LATVIA","Riga"},
155+
{"LIECHTENSTEIN","Vaduz"},
156+
{"LITHUANIA","Vilnius"},
157+
{"LUXEMBOURG","Luxembourg"},
158+
{"MACEDONIA","Skopje"},
159+
{"MALTA","Valletta"},
160+
{"MONACO","Monaco"},
161+
{"MONTENEGRO","Podgorica"},
162+
{"THE NETHERLANDS","Amsterdam"},
163+
{"NORWAY","Oslo"},
164+
{"POLAND","Warsaw"},
165+
{"PORTUGAL","Lisbon"},
166+
{"ROMANIA","Bucharest"},
167+
{"SAN MARINO","San Marino"},
168+
{"SERBIA","Belgrade"},
169+
{"SLOVAKIA","Bratislava"},
170+
{"SLOVENIA","Ljuijana"},
171+
{"SPAIN","Madrid"},
172+
{"SWEDEN","Stockholm"},
173+
{"SWITZERLAND","Berne"},
174+
{"UNITED KINGDOM","London"},
175+
{"VATICAN CITY","Vatican City"},
110176
// North and Central America
111177
{"ANTIGUA AND BARBUDA","Saint John's"},
112178
{"BAHAMAS","Nassau"},
113-
{"BARBADOS","Bridgetown"}, {"BELIZE","Belmopan"},
114-
{"CANADA","Ottawa"}, {"COSTA RICA","San Jose"},
115-
{"CUBA","Havana"}, {"DOMINICA","Roseau"},
179+
{"BARBADOS","Bridgetown"},
180+
{"BELIZE","Belmopan"},
181+
{"CANADA","Ottawa"},
182+
{"COSTA RICA","San Jose"},
183+
{"CUBA","Havana"},
184+
{"DOMINICA","Roseau"},
116185
{"DOMINICAN REPUBLIC","Santo Domingo"},
117186
{"EL SALVADOR","San Salvador"},
118187
{"GRENADA","Saint George's"},
119188
{"GUATEMALA","Guatemala City"},
120189
{"HAITI","Port-au-Prince"},
121-
{"HONDURAS","Tegucigalpa"}, {"JAMAICA","Kingston"},
122-
{"MEXICO","Mexico City"}, {"NICARAGUA","Managua"},
123-
{"PANAMA","Panama City"}, {"ST. KITTS","---"},
124-
{"NEVIS","Basseterre"}, {"ST. LUCIA","Castries"},
190+
{"HONDURAS","Tegucigalpa"},
191+
{"JAMAICA","Kingston"},
192+
{"MEXICO","Mexico City"},
193+
{"NICARAGUA","Managua"},
194+
{"PANAMA","Panama City"},
195+
{"ST. KITTS AND NEVIS","Basseterre"},
196+
{"ST. LUCIA","Castries"},
125197
{"ST. VINCENT AND THE GRENADINES","Kingstown"},
126198
{"UNITED STATES OF AMERICA","Washington, D.C."},
127199
// South America
128200
{"ARGENTINA","Buenos Aires"},
129201
{"BOLIVIA","Sucre (legal)/La Paz(administrative)"},
130-
{"BRAZIL","Brasilia"}, {"CHILE","Santiago"},
131-
{"COLOMBIA","Bogota"}, {"ECUADOR","Quito"},
132-
{"GUYANA","Georgetown"}, {"PARAGUAY","Asuncion"},
133-
{"PERU","Lima"}, {"SURINAME","Paramaribo"},
202+
{"BRAZIL","Brasilia"},
203+
{"CHILE","Santiago"},
204+
{"COLOMBIA","Bogota"},
205+
{"ECUADOR","Quito"},
206+
{"GUYANA","Georgetown"},
207+
{"PARAGUAY","Asuncion"},
208+
{"PERU","Lima"},
209+
{"SURINAME","Paramaribo"},
134210
{"TRINIDAD AND TOBAGO","Port of Spain"},
135-
{"URUGUAY","Montevideo"}, {"VENEZUELA","Caracas"},
211+
{"URUGUAY","Montevideo"},
212+
{"VENEZUELA","Caracas"},
136213
};
137214
// Use AbstractMap by implementing entrySet()
138215
private static class FlyweightMap

0 commit comments

Comments
 (0)