India
Karnataka Belgaum
Bangalore
Maharashtra Pune
Mumbai
[印度]
卡纳塔克邦[Belgaum,Bangalore]
Maharashtra [Pune,Mumbai]
public static void main(String[] args) { // TODO Auto-generated method stub ArrayList l1= new ArrayList(); l1.add("Belgaum"); l1.add("Bangalore");
ArrayList l2 = new ArrayList<>();
l2.add(""+"India");
System.out.print(" ");
System.out.println(l2);
ArrayList l3= new ArrayList();
l3.add("Pune");
l3.add("Mumbai");
HashMap hashmap = new HashMap();
hashmap.put("Karnataka", l1);
hashmap.put("Maharashtra",l3);
Set s1=hashmap.entrySet();
Iterator i1=s1.iterator();
while(i1.hasNext()){
Map.Entry m1=(Map.Entry)i1.next();
System.out.println(m1.getKey()+" "+m1.getValue()+"\n");
}
}
}
有没有办法让输出如上所示?
如何删除与值相关联的[],我知道它是一个Arraylist所以java put []在列表之前和之后
答案 0 :(得分:2)
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList l1= new ArrayList();
l1.add("Belgaum");
l1.add("Bangalore");
ArrayList l2 = new ArrayList<>();
l2.add(""+"India");
System.out.print(" ");
System.out.println(l2.get(0));
ArrayList l3= new ArrayList();
l3.add("Pune");
l3.add("Mumbai");
HashMap hashmap = new HashMap();
hashmap.put("Karnataka", l1);
hashmap.put("Maharashtra",l3);
Set s1=hashmap.entrySet();
Iterator i1=s1.iterator();
while(i1.hasNext()){
Map.Entry m1=(Map.Entry)i1.next();
String tmpStr = m1.getKey().toString();
ArrayList<String> tmpList = (ArrayList<String>) m1.getValue();
for (String s : tmpList){
tmpStr = tmpStr + " " + s;
}
System.out.println(tmpStr);
}
}
我使用了几个不同的机制,比如增强的迭代器和构建字符串,所以你可以看到你使用的不同的方法,这是一个草案,虽然它有效,你可以修改它并以多种方式改变它
我的建议是使用具有显式类型的ArrayList,例如
ArrayList<String> l1 = new ArrayList()