【发布时间】:2015-01-02 08:08:27
【问题描述】:
我需要获取arraylist 的动态数组列表。我有一个使用 findAll 方法从 myTable 派生的数组列表。它给出了一些存储在表中的列表值,并创建了一个类似于 findAllArraylist 的数组列表。
例如。
List<Model> findAllArraylist= myDAO.findll();
然后,我正在创建一个数组来存储 findAllArraylist 中的单个元素值,使用 for 循环如下,
int[] myIntArray = new int[];
for (int i= 0; i< findAllArraylist.size(); i++) {
int val = findAllArraylist.get(i).getMemberCount();
myIntArray.add(val);
}
然后,我将使用 LinkedHashMap 删除 myIntArray 的重复项。所以,如果我在该列表中有一个列的冗余值,它应该被过滤并且是唯一的。
myIntArray= new ArrayList<Integer>(new LinkedHashSet<Integer>(myIntArray))
现在,如果 findAllArraylist 中的成员计数更多,我只有一个成员计数值。
例如。
myIntArray[1,2,5,5,1,2,5,1,2,5,5,1,2,5]
应该是
myIntArray[1,2,5]
现在我需要根据 myIntArray 值创建更多数组列表。如果 myIntArray 大小为 3,我必须创建 3 个数组列表,如果 myIntArray 大小为 10,我必须创建 10 个数组列表。
我正在使用 if 语句在 findAllArraylist 的 for 循环下制作如下所示的数组列表,
for(int i = 0; i< findAllArraylist.size();i++){
Model temp = (Model) findAllArraylist.get(i);
if(myIntArray.size()==3){
List<Model> arraylist1= new ArrayList(Model);
List<Model> arraylist2= new ArrayList(Model);
List<Model> arraylist3= new ArrayList(Model);
if (findAllArraylist.get(i).getMemberCount()== myIntArray.get(0)) {
arraylist1.add(temp);
}
if (findAllArraylist.get(i).getMemberCount()== myIntArray.get(1)) {
arraylist2.add(temp);
}
if (findAllArraylist.get(i).getMemberCount()== myIntArray.get(2)) {
arraylist3.add(temp);
}
}
if(myIntArray.size()==2){
List<Model> arraylist1= new ArrayList(Model);
List<Model> arraylist2= new ArrayList(Model);
if (findAllArraylist.get(i).getMemberCount()== myIntArray.get(0)) {
arraylist1.add(temp);
}
if (findAllArraylist.get(i).getMemberCount()== myIntArray.get(1)) {
arraylist2.add(temp);
}
}
if(myIntArray.size()==3){
List<Model> arraylist1= new ArrayList(Model);
if (findAllArraylist.get(i).getMemberCount()== myIntArray.get(0)) {
arraylist1.add(temp);
}
}
}
我必须将其作为单个代码作为数组列表的动态创建。谁能给我一个关于如何做到这一点的想法。
我在这里做了一个示例..http://jsfiddle.net/L6Lqafue/
【问题讨论】:
-
这里的示例代码包含编译错误。请给出实际代码。例如: int[] myIntArray = new int[]; List
arraylist1= new ArrayList(Model);甚至不会编译。 -
对不起,现在已经清除了...jsfiddle.net/L6Lqafue/2