有一个ArrayList有下面的数据, 数据是以“,”分开的Cn,GD
TW,GD
CN,FJ
CN,HN查找cn对应的值,用这个方法getName(String code);
CN->CHINA
TW->TAIWAN
GD->GUANGDONG
FJ->FUJIAN
怎么把这个LIST变成下面这个数据?
CHINA,GUANGDONG
TAIWAN,GUANGDONG
CHINA,FUJIAN
CHINA,HUNAN

解决方案 »

  1.   

    把:
    CN->CHINA 
    TW->TAIWAN 
    GD->GUANGDONG 
    FJ->FUJIAN 弄到一个HashMap里.然后遍历ArrayList,得到每一个String,使用","分组得到String[],分别查找使用HashMap的get()就可以得到对应的值了.
    疑问:CN有时候是CHINA(国家的时候),有没可能CN表示"常宁"呢?
    CN->CHANGNING
      

  2.   


    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;public class Test { /**
     * @param args
     */
    static List list = new ArrayList();
    static List list2 = new ArrayList(); public static void main(String[] args) {
    // TODO Auto-generated method stub
    // Cn,GD
    // TW,GD
    // CN,FJ
    // CN,HN init();
    swap(); } public static void init() { list.add("Cn,GD");
    list.add("TW,GD");
    list.add("CN,FJ"); } public static void swap() { Iterator it = list.iterator();
    while (it.hasNext()) {
    String[] str = ((String) it.next()).split(",");
    // 下面应该单独写一个方法。并且这个方法最好用Map 编历替换我就不写了。
    if (str[0].toUpperCase().equals("CN")) {
    System.out.println(str[0].toUpperCase()); } } }}把ArryList 
      

  3.   

    我需要返回一个新的ARRAYLIST    public static void swap() {        Iterator it = list.iterator();
            while (it.hasNext()) {
                String[] str = ((String) it.next()).split(",");
                // 下面应该单独写一个方法。并且这个方法最好用Map 编历替换我就不写了。
                if (str[0].toUpperCase().equals("CN")) {
                    System.out.println(str[0].toUpperCase());            }        }    }
      

  4.   

    将arrarylist中的内容分别取出然后进行截取比对
    根据比对进行新字符串构造
    然后保存到另一个arrarylist中
      

  5.   


    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;
    public class Test {
    public ArrayList deal(ArrayList list,HashMap map)
    {
    ArrayList newList =new ArrayList();
    Iterator it = list.iterator();
    String [] d=null;
    String newString=null;
    while(it.hasNext())
    {
    d = ((String)it.next()).split(",");
    newString = (String)map.get(d[0])+","+(String)map.get(d[1]);
    newList.add(newString);
    }
    return newList;
    }
    public static void main(String[] args) {
    ArrayList  list = new ArrayList();
    list.add("CN,GD");
    list.add("TW,GD");
    list.add("CN,FJ"); 
    list.add("CN,HN");
    HashMap map = new HashMap();
    map.put("CN","CHINA");
    map.put("TW","TAIWAN");
    map.put("GD","GUANGDONG");
    map.put("FJ","FUJIAN");
    list = new Test().deal(list, map);
    Iterator it = list.iterator();
    while(it.hasNext())
    {
    System.out.println(it.next());
    }
    }
    }