如何在Java中使用类类型ArrayList

时间:2012-11-06 06:19:58

标签: java class arraylist

我正在研究Java和 我正在研究班级类型的概念

例如, 在Print.java中

public class Print{
    public ArrayList<data> list;
    public Print(){
        list = new ArrayList<data>();
    } 


    public void printIndexList() {
        for (data index : list) {
            System.out.format("\", index.name)
        }

        for (String definition : b.def) {
            System.out.format("%-6s", definition);
        }
    }

和data.java

public class  data{
     public String name
     public ArrayList<String> def;

     public data(){
         def = new ArrayList<String>();
     }
}

而且,在main.java中, 我有字符串类型ArrayList“defmain”和String类型“mainname”

我想在列表中添加defmain和mainname,因为我需要在b.java中使用print函数

我试图做的事

main.java中,我创建了: -

Print ia = new ptiny();

Array<Print> mainlist = new Array<Print>();

和..试图在a.java

的列表中指定值
ia.list = mainlist;
然而,它并没有真正起作用。 有没有人知道在Arraylist中添加字符串值和arraylist的方法是什么?

感谢

3 个答案:

答案 0 :(得分:1)

请注意,类名应以大写字母开头。以下应该有效:

A ia = new A();
B ib = new B();
ib.def.add("Test");
ia.list.add(ib);
ia.printIndexList();

请注意,我没有分配任何列表。我正在向列表中添加元素。

答案 1 :(得分:0)

据我所知,你试图实现你想做的事情是行不通的。

您无法将a的列表分配给b的列表。

你可以做的是迭代你所拥有的列表:

for (a index : list) {
  index.printIndexList();
}

也许这不是你想要的,但很难从你的问题中说出来。

另一种方法是,您可以将所有a中的内容添加到单个a中:

for (a index : list) {
  ai.list.addAll(index.list);
}

通常在Java类名称中以大写字母开头,因此a应为A,b应为B

答案 2 :(得分:-1)

我只想弄明白!!谢谢你的帮助

我需要做什么?

我需要创建

Print var = new Print();
var.name = "Herry";
var.defintions = somearraylistin;
ArrayList<Print> ls = new ArrayList<Print>();
ls.add(var);
data.list =is;
data.printIndexList();

感谢

OMG

需要将近3个小时才能搞清楚!!

:)