麻烦问一句:
Map<Integer,ArrayList> map=new HashMap<Integer,ArrayList>();
这一句显示有问题:
java.lang.Error: 无法解析的编译问题:
标记“<”上有语法错误,应为 (
语法错误,将“)”插入到完整 Expression 中
标记“<”上有语法错误,应为 (
标记“(”上具有语法错误,Expression 无效
可是这个语句的确也没错阿。不明白怎么回事?
Map<Integer,ArrayList> map=new HashMap<Integer,ArrayList>();
这一句显示有问题:
java.lang.Error: 无法解析的编译问题:
标记“<”上有语法错误,应为 (
语法错误,将“)”插入到完整 Expression 中
标记“<”上有语法错误,应为 (
标记“(”上具有语法错误,Expression 无效
可是这个语句的确也没错阿。不明白怎么回事?
window-preferences-java-installed jres-添加一个,然后打个勾选为默认
window-preferences-java-compiler-指定5。0即可
我试着改这个语句
Map<Object,ArrayList> map=new HashMap<Object,ArrayList>();
然后if(map.containsKey(FinalMatrix[c]))用这个作比较:
程序可以运行,但结果是有多少行就分了多少类,也就是说
map.containsKey(FinalMatrix[c]的值一直是FALSE,可我的矩阵中的确有很多行都是相同的。
而且我DEBUG的时候,看见有些KEY值明明就是一样的数组,为什么被分成了不同的组阿?
(实在不好意思,越写越麻烦,如能解决,分不够再加。)
int data[][] = {{0,1,1,0,1},{0,0,0,1,0},{0,1,1,0,1},{0,0,0,1,1},{0,0,0,1,0}};
String shuzu[][];
shuzu=new String[5][5];
for(int x=0;x<data.length;x++){
for(int y=0;y<data[x].length;y++){
shuzu[x][y]=String.valueOf(data[x][y]);
}
}
String datas[];
datas=new String[5];
for(int r=0;r<datas.length;r++){
datas[r]="a";
}
for(int a=0;a<shuzu.length;a++){
for(int b=0;b<shuzu[a].length;b++){
datas[a]=datas[a].concat(shuzu[a][b]);
}
}
Map<String,ArrayList> map = new HashMap <String,ArrayList>();
for(int i=0; i<data.length; i++){
if(map.containsKey(datas[i])){
ArrayList list = map.get(datas[i]);
list.add(i);
}
else{
ArrayList list = new ArrayList();
list.add(i);
map.put(datas[i],list);
}
}
Iterator it = map.keySet().iterator();
while(it.hasNext()){
ArrayList list = map.get(it.next());
System.out.println(list);
}}
}