在java中如何在列表中打印键值数组?

时间:2016-08-25 02:13:42

标签: java

我正在尝试使用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,他将在屏幕上显示相应的姓名和电话号码。 这是一个控制台程序,只是为了说明列表的使用

4 个答案:

答案 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);
        }
    }