我正在使用以下代码
List<String> text = new ArrayList<String>();
text.add("Hello");
因此该列表只接受要添加的字符串,如何将更多类型的变量(如整数和字符串)添加到一个列表中,如
在文本列表中添加一些矩形值,如
矩形名称,矩形宽度,矩形高度
所以稍后我可以在循环中访问它们
答案 0 :(得分:11)
创建您自己的Rectangle
类并将这些值存储在其中。
List<Rectangle> rectangles = new ArrayList<>();
rectangles.add(new Rectangle("Foo", 20, 30));
答案 1 :(得分:4)
对Duncan的答案进行了扩展,以下是创建Rectangle类的方法:
public class Rectangle {
private String name;
private int height;
private int width;
/**
* Create a rectangle by calling
* Rectangle myRect = new Rectangle("foo", 20, 10);
*/
public Rectangle(String name, int height, int width) {
this.name = name;
this.height = height;
this.width = width;
}
}
您需要向其添加访问器方法,以便您可以检索名称,宽度和高度。这些通常是名为getName和getWidth(昵称 getters )的公共方法。您可能还有一个返回该区域的函数。这是一个例子。
public String getName() { return name; }
public int getHeight() { return height; }
public int getWidth() { return width; }
public String area() {
int area = height * width;
return "Rectangle " + name + " has an area " + area + ".";
}
答案 2 :(得分:2)
您只需创建一个class
,其中包含您需要的变量,并将该类用作list
声明中的数据类型。
<强> e.g:强>
class MyStructure{
int anInteger;
double aDouble;
string aString;
//Followed by any other data types you need.
//You create a constructor to initialize those variables.
public MyStructure(int inInt, double inDouble, string inString){
anInteger = inInt;
aDouble = inDouble;
aString = inString;
}
}
然后当你拥有主要或你的方法,并宣布一个列表时,你只需写下:
List<MyStructure> myList = new ArrayList<>();
myList.add(new MyStructure(5, 2.5, "Hello!"));
答案 3 :(得分:0)
虽然创建类的答案肯定是组织程序的更好方法,但问题的答案是创建Object类型的列表。然后,您可以将项目添加到任何类型的列表中。要确定在运行时处理的类型,可以使用instanceof关键字。但要非常清楚,这不是一个好的做法。
List<Object> text = new ArrayList<String>();
text.add("Hello");
text.add(new Integer(10));