需要将点数据编号,点数据是三个字符串数字;我最先是用arraylist来实现的,方法是这样: private int comparePoints (String[] s1){
//如果pointList为空直接塞数据
if(pointList.size ()==0){
pointList.add (s1);
return index;
}else{
//否则判断这个点是否在pointList已经存在,如果存在返回这个点的索引号,如果没有,加在list的最后一个
for(int i=0;i<pointList.size ();i++){
String[] s=(String[]) pointList.get (i);
if(s[0].equals (s1[0])&&s[1].equals (s1[1])&&s[2].equals (s1[2]))
return i;
}
pointList.add (s1);
index=pointList.size ()-1;
return index;
}
}
但是我运行程序结果不正确,不知道是不是arraylist add对象的时候不是按顺序放的?请教有没有更好的方法实现这个功能
//如果pointList为空直接塞数据
if(pointList.size ()==0){
pointList.add (s1);
return index;
}else{
//否则判断这个点是否在pointList已经存在,如果存在返回这个点的索引号,如果没有,加在list的最后一个
for(int i=0;i<pointList.size ();i++){
String[] s=(String[]) pointList.get (i);
if(s[0].equals (s1[0])&&s[1].equals (s1[1])&&s[2].equals (s1[2]))
return i;
}
pointList.add (s1);
index=pointList.size ()-1;
return index;
}
}
但是我运行程序结果不正确,不知道是不是arraylist add对象的时候不是按顺序放的?请教有没有更好的方法实现这个功能
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货