用Java打印一个列表?

时间:2013-08-06 22:15:17

标签: java list printing

我想用Java打印一个List。

r1
r2
r3
r4

以下是代码:

public static final void main(String args[]) {

    Scanner a = new Scanner(System.in);

    String r1, r2, r3, r4;

    System.out.print("Enter word..");
    r1 = a.next();

    System.out.print("Enter second word");
    r2 = a.next();

    System.out.print("Enter third word");
    r3 = a.next();

    System.out.print("Enter last word");
    r4 = a.next();

    List list = new List();
    list.add(r1);
    list.add(r2);
    list.add(r3);
    list.add(r4);

    System.out.println(list);
}

如何打印我的列表而不是:

java.awt.List[list0,0,0,0x0,invalid,selected=null]

4 个答案:

答案 0 :(得分:13)

在课堂上你有:

import java.awt.List;

但是,java.awt.List描述了一个GUI组件,可能不是您想要的。要使用数据结构List,请将导入更改为:

import java.util.List;

由于java.util.List<E>是通用接口,因此您也应该正确使用它:

List<String> list = new ArrayList<>();

表达式System.out.println(list);将打印List对象,该对象可能显示或不显示内容(取决于toString的实现)。要显示列表的内容,需要迭代:

for ( String str : list ) {
    System.out.println(str);
}

如评论中所述,此解决方案仅在您import java.util.ArrayList;

时才有效

答案 1 :(得分:3)

java.awt.List是List组件(如您在GUI中看到的下拉列表) (source。)

A drop down list

其中java.util.List是用于存储数据的有序集合。 (source

尝试从

更改导入(如jlordo所述)
import java.awt.List;

import java.util.List;

答案 2 :(得分:2)

import java.util.ArrayList;

public class Example
{

public static void main(String args[])
{
    Scanner a = new Scanner(System.in);

    String r1, r2, r3, r4;

    System.out.print("Enter word..");
    r1 = a.next();

    System.out.print("Enter second word");
    r2 = a.next();

    System.out.print("Enter third word");
    r3 = a.next();

    System.out.print("Enter last word");
    r4 = a.next();

    ArrayList<String> list = new ArrayList<>();
    list.add(r1);
    list.add(r2);
    list.add(r3);
    list.add(r4);

    for ( String str : list )
    {
        System.out.println(str);
    }

}

而不是打印用户的输入,而是打印对象。

答案 3 :(得分:1)

最正确的方法可能是使用StringBuilder

        List<String> list = new ArrayList<String>();

        //Add the stuff here.
        ...

        StringBuilder sb = new StringBuilder();
        for(String s: list)
            sb.append(s + " ");

        System.out.println(sb);