我正在尝试使用java只使用arraylist创建一个简单的电话簿
import java.util.*;
public class Lista {
public static void menu() {
int opcion = 0;
String[] t2 = new String[2];
ArrayList<String[]> lista = new ArrayList<String[]>();
t2[0] = "Robert";
t2[1] = "619-487-5555";
lista.add(t2);
t2 = new String[2]; // create a new array
t2[0] = "Carlos";
t2[1] = "123-659-8751";
lista.add(t2);
t2 = new String[2];
t2[0] = "mike";
t2[1] = "555-555-5555";
lista.add(t2);
}
}
现在如何访问列表中的每个数组以获得类似
name:mike
phone: 555-555-5555
我正计划建立一个菜单
/ ******** /
| 1 - 罗伯特|
| 1 - 卡洛斯|
| 1 - 迈克|
/ ******** /
当用户输入时,请说数字2,他将在屏幕上显示相应的姓名和电话号码。 这是一个控制台程序,只是为了说明列表的使用
答案 0 :(得分:0)
你可以在你的情况下使用它。
for (String[] obj: lista)
{
System.out.print("Name: ");
System.out.println(obj[0]);
System.out.print("Number: ");
System.out.println(obj[1]);
}
答案 1 :(得分:0)
为什么不考虑使用地图
e.g
HashMap <String, String> map = new HashMap <> ();
然后添加
map.put("mike", 911);
获取值
System.out.println ("mikes number is " + map.get("mike"));
使用Map的另一个好处是防止你有重复的值(只有一个&#34; mike&#34;)
答案 2 :(得分:0)
只需使用以下代码 - :
for(String[] contact: lista) {
System.out.println("name : "+contact[0]);
System.out.println("phone : "+contact[1]);
}
您可以考虑使用HaspMap作为其他答案。
答案 3 :(得分:0)
试试这个:
swiftc -help-hidden
控制台打印:
Map<String, List<String>> phoneNumber = new LinkedHashMap<String, List<String>>();
{
List<String> phone = new ArrayList<String>();
phone.add("619-487-5555");
phone.add("619-487-5556");
phone.add("619-487-5557");
phoneNumber.put("Robert", phone);
}
{
List<String> phone = new ArrayList<String>();
phone.add("123-659-8751");
phoneNumber.put("Carlos", phone);
}
{
List<String> phone = new ArrayList<String>();
phone.add("555-555-5555");
phone.add("6666-555-5555");
phoneNumber.put("mike", phone);
}
for (String person : phoneNumber.keySet()) {
List<String> phoneList = phoneNumber.get(person);
for (String phone : phoneList) {
System.out.println("person: " + person + " | phone: " + phone);
}
}