List<CityDTO>的数据如{"广东", "广州"},{"广西", "桂林"},{"广东", "佛山"},{"广东", "江门"},{"广西", "阳朔"},
{"湖北", "荆州"},{"湖南", "长沙"},{"湖北", "襄阳"}......
统计每个省的城市个数
package other;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class test1 {
class CityDTO {
private String pro;
private String city;
public CityDTO(String pro, String city) {
this.pro = pro;
this.city = city;
}
public String getPro() {
return pro;
}
public void setPro(String pro) {
this.pro = pro;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
}
public static void main(String args[]) {
test1 t = new test1();
CityDTO cityDTO1 = t.new CityDTO("广东", "广州");
CityDTO cityDTO2 = t.new CityDTO("广西", "桂林");
CityDTO cityDTO3 = t.new CityDTO("广东", "佛山");
CityDTO cityDTO4 = t.new CityDTO("广东", "江门");
CityDTO cityDTO5 = t.new CityDTO("广西", "阳朔");
CityDTO cityDTO6 = t.new CityDTO("湖北", "荆州");
CityDTO cityDTO7 = t.new CityDTO("湖南", "长沙");
CityDTO cityDTO8 = t.new CityDTO("湖北", "襄阳");
List<CityDTO> list = new ArrayList<CityDTO>();
list.add(cityDTO1);
list.add(cityDTO2);
list.add(cityDTO3);
list.add(cityDTO4);
list.add(cityDTO5);
list.add(cityDTO6);
list.add(cityDTO7);
list.add(cityDTO8);
countCity1(list);
System.out.println("---------------");
countCity2(list);
}
public static void countCity1(List<CityDTO> list) {
Map<String, Integer> map = new HashMap<String, Integer>();
Set<String> set = new HashSet<String>();
for (int i = 0; i < list.size(); i++) {
// 利用set集合的特性,只能放进唯一的值
if (set.add(list.get(i).getPro())) {
map.put(list.get(i).getPro(), 1);
} else {
map.put(list.get(i).getPro(), map.get(list.get(i).getPro()) + 1);
}
}
for (String key : map.keySet()) {
System.out.println(key + "省共 " + map.get(key) + "个城市");
}
}
public static void countCity2(List<CityDTO> list) {
Map<String, Integer> map = new HashMap<String, Integer>();
for (int i = 0; i < list.size(); i++) {
// 结合map集合的特性,key的值只能唯一,value的值可以更新,使用map的containsKey方法
if (!map.containsKey(list.get(i).getPro())) {
map.put(list.get(i).getPro(), 1);
} else {
map.put(list.get(i).getPro(), map.get(list.get(i).getPro()) + 1);
}
}
for (String key : map.keySet()) {
System.out.println(key + "省共 " + map.get(key) + "个城市");
}
}
}