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) + "个城市"); } } }