我需要通过for循环在一行中显示多个列表数组 - 所以基本上我也需要计算它们。
示例:
这是我的代码:
List<String> name = new ArrayList<String>();
List<String> number = new ArrayList<String>();
name.add("Tommy"); // Test name
name.add("Tom"); // Test name 2
number.add(new String("123-456-7890")); // Test phone number
number.add(new String("098-765-4321")); // Test phone number 2
for (String d:name) {
System.out.print(d);
}
for (String b:number) {
System.out.println(b);
}
这是我输出的代码:
很抱歉,如果这个问题重复,如果是,我会马上删除我的问题但是现在我还没有这样的事情。
谢谢。
答案 0 :(得分:2)
我认为在这种情况下你最好使用Map,它可以让你更灵活,更好地控制条目:
import java.util.HashMap;
import java.util.Map;
/**
* Created by dlcol_000 on 3/19/2016.
*/
public class MapExample {
public void execute(){
Map<String,String> phoneDirectory = new HashMap<>();
phoneDirectory.put("Tommy","123-456-7890");
phoneDirectory.put("Tom", "098-765-4321");
//Now you can do things like, look up the phone number for a person:
String tomsPhone = phoneDirectory.get("Tom");
System.out.println("Toms' phone number is: " + tomsPhone);
//Or you can print the contents of the phone directory
System.out.println("The phone directory contains: " + phoneDirectory);
//Or you can iterate over all people in the directory printing their numbers
for(String person: phoneDirectory.keySet()){
System.out.println(person + ": " + phoneDirectory.get(person));
}
}
public static void main(String... args){
new MapExample().execute();
}
}
其中给出了以下输出:
Toms' phone number is: 098-765-4321
The phone directory contains: {Tom=098-765-4321, Tommy=123-456-7890}
Tom: 098-765-4321
Tommy: 123-456-7890
答案 1 :(得分:1)
您正在打印完整的名称列表,然后是数字列表,您应该插入/替换并在每次迭代中从每个列表中打印一个
final List<String> name = new ArrayList<String>();
final List<String> number = new ArrayList<String>();
name.add("Tommy"); // Test name
name.add("Tom"); // Test name 2
number.add(new String("123-456-7890")); // Test phone number
number.add(new String("098-765-4321")); // Test phone number 2
for (int i = 0; i < name.size(); i++) {
System.out.println(name.get(i) + "\t\t" + number.get(i));
}
最后,我建议您将上述评论定义为“ContactPerson
”,并覆盖toString
方法。
通过这种方法,您可以更快,更安全地使用它
答案 2 :(得分:0)
这实际上取决于您想要使用对象的内容。
一个重要方面是应该分开关注点。在你的情况下:
基于此,您可以为首发提供以下内容:
toString()
方法突然间,迭代你的Person对象列表并为每个人调用System.out.println(person.toString());你有很好的格式化输出。
我给你的关键信息:明白有很多选择;并且不应该停留在第一个“工作”版本上;但是玩耍......