有这样一个类
public class City implements java.io.Serializable{ private String provienceName; //省名,如果是直辖市,则省名与城市名相同.
private String cityName; //城市名,如果是直辖市,则同省名.
private int count; //该城市所包含门店的数量 City(String provienceName,String cityName,int count){
this.provienceName=provienceName;
this.cityName =cityName;
this.count=count;
}
City(String cityName,int count){
this.cityName =cityName;
this.count=count;
}...
}查询数据库后得到这个类的数组
cityArray 我把这个数组放入一个hashMap里了
元素类似这样
city1("北京","北京",12)
city2("上海","上海",6)
city3("广东","广州",2)
city4("广东","中山",1)
city5("广西","南昌",1)
city5("广西","桂林",1)
现在我要把这个集合处理一下,格式变成:city1("北京",12)
city2("上海",6)
city3("广东",3)//把省独立一个对象 并且数量为该省所有市的数量和
city4("广州",2)
city5("中山",1)city6("广西",2)//把省独立一个对象 并且数量为该省所有市的数量和
city7("南昌",1)
city8("桂林",1)有什么好办法呢?效率要比较高的,谢谢各位了!
public class City implements java.io.Serializable{ private String provienceName; //省名,如果是直辖市,则省名与城市名相同.
private String cityName; //城市名,如果是直辖市,则同省名.
private int count; //该城市所包含门店的数量 City(String provienceName,String cityName,int count){
this.provienceName=provienceName;
this.cityName =cityName;
this.count=count;
}
City(String cityName,int count){
this.cityName =cityName;
this.count=count;
}...
}查询数据库后得到这个类的数组
cityArray 我把这个数组放入一个hashMap里了
元素类似这样
city1("北京","北京",12)
city2("上海","上海",6)
city3("广东","广州",2)
city4("广东","中山",1)
city5("广西","南昌",1)
city5("广西","桂林",1)
现在我要把这个集合处理一下,格式变成:city1("北京",12)
city2("上海",6)
city3("广东",3)//把省独立一个对象 并且数量为该省所有市的数量和
city4("广州",2)
city5("中山",1)city6("广西",2)//把省独立一个对象 并且数量为该省所有市的数量和
city7("南昌",1)
city8("桂林",1)有什么好办法呢?效率要比较高的,谢谢各位了!
主要是怎么求出省的.
你可以把一个省的放进新的map里,用省名为key
每次放进去的时候检查一次,如果有这个key就取出它,然后增加count
没有就创建一个放进去
反而到取出来之后再算?
至于取出来之后的算法,我的理解是跟K3179相同的,自己定义一个省及直辖市的map,然后再列举三维数组的元素,进行求和。