我需要一种在列表中存储许多不同项目的方法

1 java arrays hash list object

我有一个用java编写的程序,迫切需要优化.现在我有3个ArrayLists,我想简化为1列表类型的东西.我有一个用于矩形的ArrayList,一个用于布尔值,一个用于我用我的一个类创建的对象.我们现在可以称之为"项目".我保持三个ArrayLists的顺序相同,对所有这些都做同样的事情.例如,每次我创建一个新项目时,我将它添加到项目ArrayList,我向该ArrayList添加一个布尔值,我向第三个ArrayList添加一个矩形.我正在寻找解决方案.我尝试过HashMaps,但每个列表项只需要2条信息.有一次,我尝试了一个ArrayList,但这是一个巨大的痛苦要处理.如果有人能帮我找到解决方案,我会非常感激.非常感谢.

编辑:谢谢你的所有快速答案

Chs*_*y76 10

编写一个新的类,其中包含"rectangle",boolean和"item"作为字段,并将该类的实例存储在单个List中.

例如:

public class MyRecord {
    private Rectange rectangle;
    private boolean flag;
    private Item item;

    // getters / setters
}
Run Code Online (Sandbox Code Playgroud)

然后在你的其他课程(无论你有你的名单):

...
List<MyRecord> list = ...; // initialize or obtain from somewhere
list.get(0).setFlag(false); // modify field within your container object
Run Code Online (Sandbox Code Playgroud)


Oli*_*rth 5

为什么不将三个相关项目存储在一个类中,然后列出它们?

class MyThingy {
    public MyItem item;
    public boolean flag;
    public Rectangle rect;
}

List<MyThingy> myList = new ArrayList<MyThingy>();
Run Code Online (Sandbox Code Playgroud)

根据需要调整public/ private和getter/setter.