有一个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
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
CN->CHINA
TW->TAIWAN
GD->GUANGDONG
FJ->FUJIAN 弄到一个HashMap里.然后遍历ArrayList,得到每一个String,使用","分组得到String[],分别查找使用HashMap的get()就可以得到对应的值了.
疑问:CN有时候是CHINA(国家的时候),有没可能CN表示"常宁"呢?
CN->CHANGNING
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
while (it.hasNext()) {
String[] str = ((String) it.next()).split(",");
// 下面应该单独写一个方法。并且这个方法最好用Map 编历替换我就不写了。
if (str[0].toUpperCase().equals("CN")) {
System.out.println(str[0].toUpperCase()); } } }
根据比对进行新字符串构造
然后保存到另一个arrarylist中
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());
}
}
}