初学java 想知道java map集合循环存入数据

假如我有2个类型 一个a 一个b。a是100以内基数,如1,3,5,7,9直到100. b是2,4,6,8,10直到100.
如何循环存入map集合相对应。map的key是a, values是b.
最后返回的集合是<1,2>,<3,4>,<5,6>。最好有代码示范

可以分开,我帮你写一个,发不出来

public class Test {


public static void main(String[] args) {
List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
int a = 1;
int b = 2;

String key = "";
String value = "";
for (int i = 0; i < 50; i++) {
HashMap<String, String> map = new HashMap<String, String>();
key = (a + i * 2) + "";
value = (b + i * 2) + "";
map.put(key, value);
list.add(map);
}

for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}

}

运行结果:

{1=2}
{3=4}
{5=6}
{7=8}
{9=10}
{11=12}
{13=14}
{15=16}
{17=18}
{19=20}
{21=22}
{23=24}
{25=26}
{27=28}
{29=30}
{31=32}
{33=34}
{35=36}
{37=38}
{39=40}
{41=42}
{43=44}
{45=46}
{47=48}
{49=50}
{51=52}
{53=54}
{55=56}
{57=58}
{59=60}
{61=62}
{63=64}
{65=66}
{67=68}
{69=70}
{71=72}
{73=74}
{75=76}
{77=78}
{79=80}
{81=82}
{83=84}
{85=86}
{87=88}
{89=90}
{91=92}
{93=94}
{95=96}
{97=98}
{99=100}

追问

汗。。怎么发不出来

追答

太长了吗?

public class Test {


public static void main(String[] args) {
List<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
int a = 1;
int b = 2;

String key = "";
String value = "";
for (int i = 0; i < 50; i++) {
HashMap<String, String> map = new HashMap<String, String>();
key = (a + i * 2) + "";
value = (b + i * 2) + "";
map.put(key, value);
list.add(map);
}

for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}

}

 运行结果 :

{1=2}{3=4}{5=6}{7=8}{9=10}{11=12}{13=14}{15=16}{17=18}{19=20}{21=22}{23=24}{25=26}{27=28}{29=30}{31=32}{33=34}{35=36}{37=38}{39=40}{41=42}{43=44}{45=46}{47=48}{49=50}{51=52}{53=54}{55=56}{57=58}{59=60}{61=62}{63=64}{65=66}{67=68}{69=70}{71=72}{73=74}{75=76}{77=78}{79=80}{81=82}{83=84}{85=86}{87=88}{89=90}{91=92}{93=94}{95=96}{97=98}{99=100}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-11
int a=1;
int b=2;
Map<String,Object> map = new HashMap<String,Object>();
String key = "";
int value = 0;
for(int i=0;i<50;i++){
    key = (a+i*2).toString();
    value = b+i*2;
    map.add(key,value);
}

大概就是这样吧。

追问

帮你改了下 map不是add是put
还有那个key不能,toString()
结果出来是{1=2, 3=4, 5=6, 7=8, 9=10, 11=12, 13=14, 15=16。。。。99=100}
但我想要的是{1=2} {3=4} {5=6}。。。{99=100}可以分开吗
不要一个大的map集合
谢谢你了 等下没好答案分给你

第2个回答  2013-07-11
其实你对应的代码挺好的,挺有顺序,也就是说a某个位置的数,正好对应同样位置的b,a和b尽量是数组或者字符串自己截取成数组也可以(主要是为了方便循环),所以可以试试下面的:
Map<String,String> map = new HashMap<String,String>();
for(int i=0;i<a.length;i++){
map.put(a[i]+"",b[i]+"");
}
相似回答