初学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,v...
假如我有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>。最好有代码示范 展开
如何循环存入map集合相对应。map的key是a, values是b.
最后返回的集合是<1,2>,<3,4>,<5,6>。最好有代码示范 展开
3个回答
展开全部
可以分开,我帮你写一个,发不出来
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}
展开全部
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集合
谢谢你了 等下没好答案分给你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实你对应的代码挺好的,挺有顺序,也就是说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]+"");
}
Map<String,String> map = new HashMap<String,String>();
for(int i=0;i<a.length;i++){
map.put(a[i]+"",b[i]+"");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询