Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中的多维ArrayList中添加元素_Java_List_Arraylist_Multidimensional Array - Fatal编程技术网

在Java中的多维ArrayList中添加元素

在Java中的多维ArrayList中添加元素,java,list,arraylist,multidimensional-array,Java,List,Arraylist,Multidimensional Array,我想在Java中使用list存储一些值(实际上是一条消息)。我想存储以下内容: {user1, message, user2, time} {user1, message, user4, time} {user3, message, user1, time} List<Object[]> list = new ArrayList<Object[]>(); Object[] ob = new Object[4]; ob[0] = "user1"; ob[

我想在Java中使用list存储一些值(实际上是一条消息)。我想存储以下内容:

{user1, message, user2, time}
{user1, message, user4, time}
{user3, message, user1, time} 
List<Object[]> list = new ArrayList<Object[]>();        
Object[] ob = new Object[4];
ob[0] = "user1";
ob[1] = "messge1";
ob[2] = "user2";
ob[3] = "time1";

list.add(ob);       

ob = new Object[4];
ob[0] = "user2";
ob[1] = "messge2";
ob[2] = "user4";
ob[3] = "time2";
list.add(ob);

// Output the values
for(Object[] o : list){
    System.out.print(o[0] + "\t");
    System.out.print(o[1] + "\t");
    System.out.print(o[2] + "\t");
    System.out.print(o[3] + "\n");
}
我已经声明了这样一个arraylist:

public List<List<String>> message = new ArrayList<List<String>>();
但我有一个错误:

“类型列表中的方法add(String)不适用于 参数(字符串、字符串、整数)

您正在检索
消息所引用的列表列表中的第一个列表

List
add(T object)
方法,所以不能在一次调用中传递所有3个对象,一种方法是

message.get(0).add(msg);
message.get(0).add(target);
message.get(0).add(time);

你可以这样做:

{user1, message, user2, time}
{user1, message, user4, time}
{user3, message, user1, time} 
List<Object[]> list = new ArrayList<Object[]>();        
Object[] ob = new Object[4];
ob[0] = "user1";
ob[1] = "messge1";
ob[2] = "user2";
ob[3] = "time1";

list.add(ob);       

ob = new Object[4];
ob[0] = "user2";
ob[1] = "messge2";
ob[2] = "user4";
ob[3] = "time2";
list.add(ob);

// Output the values
for(Object[] o : list){
    System.out.print(o[0] + "\t");
    System.out.print(o[1] + "\t");
    System.out.print(o[2] + "\t");
    System.out.print(o[3] + "\n");
}

请查看您的问题重复了哪些。“但是我得到了一个错误”错误信息说明了什么?错误是“类型列表中的add(String)方法不适用于参数(String、String、Integer)@Galil最好将信息放在你的原始帖子中,而不是评论。这些信息很重要,阅读你问题的人不应该被迫在评论中搜索。你可以随心所欲地这样做[]选项放置在您的问题下。我想这几乎就是我正在寻找的,但是如果可能的话,您能告诉我如何在没有for循环的情况下获得特定值(例如message1)。此外,如何删除特定行?(list.get(0))[3]//返回time和list.remove(0);删除第一条{user1,msg,user2,time}记录。
user1 messge1 user2 time1

user2 messge2 user4 time2