public class Test4 {
public static void main(String[] args) {
String[] arr={"1","2","3"};
String str="你妹妹的";
Map<String[], String> map=new HashMap<String[], String>();
map.put(arr, str);
Iterator it=map.keySet().iterator();
while (it.hasNext()) {
String key=it.next().toString();
System.out.println(Arrays.toString(key));
}
}
}为什么打印的时候报错,应该怎么打出所有的key~
public static void main(String[] args) {
String[] arr={"1","2","3"};
String str="你妹妹的";
Map<String[], String> map=new HashMap<String[], String>();
map.put(arr, str);
Iterator it=map.keySet().iterator();
while (it.hasNext()) {
String key=it.next().toString();
System.out.println(Arrays.toString(key));
}
}
}为什么打印的时候报错,应该怎么打出所有的key~
keyset.toArrays()好像是这个方法。能得到key的数组,类型是object。你再把每一个元素都转换成字符串数组。就可以得到arr了。至于用Iterator,我不熟。你照这个思路把it.next()转换成字符串数组试试
为什么要用一个字符串数组作为key呢??
直接用int不行吗?
String key=it.next().toString();
System.out.println(Arrays.toString(key));
你的key是一个字符串,而Arrays.toString()方法需要传递的是一个数字参数这样可以打印出数组:
String[] key=(String[]) it.next();
System.out.println(Arrays.toString(key));
你的key是一个字符串,而Arrays.toString()方法需要传递的是一个数组参数不好意思,应该是数组,不是数字。
public class Test4{
public static void main(String[] args){
String[] arr={"1","2","3"};
String str="你妹妹的";
Map<String[], String> map=new HashMap<String[], String>();
map.put(arr, str);
Iterator it=map.keySet().iterator();
while (it.hasNext()) {
String[] key=(String[]) it.next();
System.out.println(Arrays.toString(key));
}
}}
String str="的";
Map<String[], String> map=new HashMap<String[], String>();
map.put(arr, str);
for(String[] s:map.keySet()){
for(String s1:s){
System.out.println(s1);
}
}