黑马程序员技术交流社区
标题:
集合类小问题一枚
[打印本页]
作者:
唐志海
时间:
2014-1-4 13:34
标题:
集合类小问题一枚
本帖最后由 唐志海 于 2014-1-21 02:39 编辑
public class CollectionDemo
{
public static void main(String[] args)
{
ArrayList<String> al=new ArrayList();
al.add("kk");
al.add("kd");
al.add("kc");
al.add("ka");
//sop(al);
for(int x=0;x<al.size();x++)
{
sop(x);
}
}
public static void sop(Object obj)
{
System.out.print(obj);
}
}
复制代码
为什么输出的不是元素而是0123的地址呢?
作者:
李兴
时间:
2014-1-4 14:22
你打印的x是循环变量,不是结合的元素,这就要调用集合的get(int index)方法来获取对应index位置上的集合元素,代码如下
public static void main(String[] args)
{
ArrayList<String> al=new ArrayList();
al.add("kk");
al.add("kd");
al.add("kc");
al.add("ka");
//sop(al);
for(int x=0;x<al.size();x++)
{
sop(al.get(x)); //这里改为al.get(x)即可
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}
复制代码
作者:
taoge
时间:
2014-1-4 14:25
往sop()里传参数错了,你传的0,1,2,3当然会打印0123,要这样
for (int x = 0; x < al.size(); x++)
{
sop(al);
}
复制代码
不过这样会把集合打印4次,你可以用增强的循环,像这样
public class CollectionDemo
{
public static void main(String[] args)
{
ArrayList<String> al = new ArrayList();
al.add("kk");
al.add("kd");
al.add("kc");
al.add("ka");
// sop(al);
for (String s : al)
{
sop(s + ",");
}
}
public static void sop(Object obj)
{
System.out.print(obj);
}
}
复制代码
作者:
黑马IT学员
时间:
2014-1-4 16:56
public class CollectionDemo
{
public static void main(String[] args)
{
ArrayList<String> al=new ArrayList();
al.add("kk");
al.add("kd");
al.add("kc");
al.add("ka");
//sop(al);
for(int x=0;x<al.size();x++)
{
sop(x);
}
}
public static void sop(Object obj)
{
System.out.print(obj);
//这个地方的参数不应该是obj而是a1.get(x);根据索引的位置找到集合中的元素值
}
}
作者:
午夜b'Boy
时间:
2014-1-4 17:25
集合我也没学好,受教了
作者:
马姗姗
时间:
2014-1-4 18:13
import java.util.ArrayList;
public class CollectionDemo
{
public static void main(String[] args)
{
ArrayList<String> al=new ArrayList();
al.add("kk");
al.add("kd");
al.add("kc");
al.add("ka");
//sop(al);
for(int x=0;x<al.size();x++)
{
sop(x);//这里你调用了sop方法,没有输出集合的元素,
//你传入的参数是x所以你打印了的是0123
}
//可以用加强for来遍历集合
for(String str : al){
System.out.println(str);
}
}
public static void sop(Object obj)
{
System.out.print(obj);
}
}
作者:
快乐的黑马
时间:
2014-1-4 19:38
for(int x=0;x<al.size();x++)
{
sop(x);
}
你这是直接打印x的值,要获取集合的元素,变成get(x);
作者:
周志彬
时间:
2014-1-4 19:55
for(int x=0;x<al.size();x++)
{
sop(x); //你传入的是x 当然显示的是0123
sop(al.get(x)); //这个是打印集合中的所有元素
}
~~!奋斗
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2