列出arraylist中的数据

时间:2014-08-14 20:04:53

标签: java android

我有一个arraylist变量,这个变量像这样的数据一样返回:

[user01:message1, user02:message2, user01:message3]

我想列出每个项目,我会像这样登录日志

"user01 said:message1"
"user02 said:message2"
"user01 said:message3"

我怎么能这样列出?

编辑:

这是我的arraylist类

 class Message
    {
        public String message, sender;
        public Message (String msg, String from)
        {
            // check here that msg and from are not null. If so, use a default value or throw an NullPointerException
            message = msg;
            sender = from;
        }
        // Just a utility method for printing out the Message to System.out
        public String toString () { return sender+":"+message; }
    }

这就是清单:

Hashtable<String, ArrayList<Message>> table = new Hashtable<String, ArrayList<Message>>();

4 个答案:

答案 0 :(得分:1)

只需迭代每条消息并打印其内容。

for (Message message : messages) {    
  System.out.println(message.sender + " said: " + message.message);
}

答案 1 :(得分:1)

您可以使用advance for循环迭代到List中的所有元素,并使用replaceFirst方法在冒号前插入字符串

<强>样品:

for (String data : list) 
   Log.d("", data.replaceFirst(":", " said:"));

现在replaceFirst只会在消息有colon消息时才会替换冒号的第一次出现。

答案 2 :(得分:1)

你可以用这样的东西来做,

List<String> al = Arrays.asList("user01:message1", "user02:message2",
    "user01:message3");
for (String str : al) {
    Log.d(String.format("\"%s\"%n", str.replaceFirst(":", " said:")));
}

输出

"user01 said:message1"
"user02 said:message2"
"user01 said:message3"

答案 3 :(得分:0)

   String [] split;

   for(String s: al){
       split = s.split(":");

       System.out.println(split[0] + " said :" + split[1]);
   }