在Java中创建自定义集合
我不太确定如何做到这一点,但我发现自己在这个特定项目中经常使用列表列表。我想我想把它重构成它自己的收藏。基本上,它是一个用户及其属性的列表。我使用的对象是一个在Java中创建自定义集合,java,inheritance,collections,Java,Inheritance,Collections,我不太确定如何做到这一点,但我发现自己在这个特定项目中经常使用列表列表。我想我想把它重构成它自己的收藏。基本上,它是一个用户及其属性的列表。我使用的对象是一个列表。我想我想做一个替换,可能扩展ArrayList,并称之为UserList或类似的东西 注意:我唯一的真正目标是不要到处键入List 对此采取什么样的最佳方法 编辑:谢谢。我想我知道有些事情会更好。只是我不能完全把手指放在上面。我最初避免创建User类,因为我不确定如何轻松地迭代属性 无需为这些需求创建自定义的列表 创建一个User类来
列表
。我想我想做一个替换,可能扩展ArrayList
,并称之为UserList
或类似的东西
注意:我唯一的真正目标是不要到处键入List
对此采取什么样的最佳方法
编辑:谢谢。我想我知道有些事情会更好。只是我不能完全把手指放在上面。我最初避免创建
User
类,因为我不确定如何轻松地迭代属性 无需为这些需求创建自定义的列表
创建一个User
类来存储所有属性,然后创建一个列表
您不应该这样做。
您将花费更多的时间编写这个新类,而不仅仅是键入几个额外的字符
如果你真的想上新课。
为什么不这样呢
public class User {
private String attribute1;
private String attribute2;
//etc.
public String getAttribute1() {
return attribute1;
}
public void setAttribute1(String value) {
attribute1 = value;
}
public String getAttribute2() {
return attribute2;
}
public void setAttribute2(String value) {
attribute2 = value;
}
//etc.
}
如果您坚持使用嵌套的列表
s。
我建议创建一个如下所示的包装器类:
public class Users {
private List<List<String>> twoDList;
public String get(int x, int y) {
return twoDList.get(y).get(x);
}
public void set(int x, int y, String value) {
twoDList.set(y, twoDList.get(y).set(x, value));
}
//etc.
}
公共类用户{
私人名单;
公共字符串get(int x,int y){
返回twoDList.get(y.get(x);
}
公共无效集(整数x,整数y,字符串值){
twoDList.set(y,twoDList.get(y).set(x,value));
}
//等等。
}
如果唯一的目标是减少输入,你确定这确实值得吗?你应该支持组合而不是继承。如果您真的想更方便地使用List方法,请在自定义类中包装一个List。请注意,UserList实际上只是一个列表,所以我将重点放在用户类而不是UserList类上?单独处理每个属性不是更好吗?在我的例子中,不是。基本上,我从LDAP中提取用户信息,并将其存储在一个更小、更易于管理的数据库中(具有导出到CSV的选项)。因此,我需要迭代所有的用户和他们的属性来进行插入。@m4rtin每次我认为我知道关于Java的一切有用的东西。。。但说真的,谢谢你告诉我。我认为ArrayList是一个核心类。是的,这是常见的做法和最佳方法。