如何动态的定义多个ArrayList集合呢?

例如 如果有N个字符串:AL1,AL2 ,AL3 ,AL4,AL5,......................;
怎么才能动态的实现以下的功能,动态的定义N个集合!!
ArrayList AL1=new ArrayList();
ArrayList AL2=new ArrayList();
ArrayList AL3=new ArrayList();
ArrayList AL4=new ArrayList();
ArrayList AL5=new ArrayList();
..................................

用Collection提供的retainAll方法,如下是测试代码:
import java.util.*;
public class TestList1{
public static void main(String[] args){
List list1=new ArrayList();
list1.add("A");list1.add("B");list1.add("C");
List list2=new ArrayList();
list2.add("B");list2.add("C");list2.add("D");

list1.retainAll(list2);
System.out.println(“交集为:”+list1);
}
}

//测试:
//交集为:[B, C]
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-18
List<string> StrList = new List<string>(); //定义
//初始化
for (int i = 0; i < 10; i++)
{
StrList.Add("星期"+i.ToString());
}
//访问
MessageBox.Show(StrList[5]);

我个人感觉你这个动态定义就应该用这样的方法.追问

这种方法只是在新建的StrList中增加了多个元素吧?我要知道的是怎么才能动态的定义多个arraylist集合啊。然后后续要对这些集合进行数据更新的。

追答

你的意思就好像是说通过字符串来动态调整的你组组定义,就好像js里的eval("ArrayList AL3=new ArrayList()"),或是数据库有个exec("定义一两个变量")
但是c#是没有这样的语句的,只能在编程时逻辑性判断出你想要的东西的大小然后在初始化
List ArrayListList = new List();
for (int i = 0; i < 12; i++)
{
ArrayList MonthArList = new ArrayList();
for (int j = 0; j < 30; j++)
{
MonthArList.Add(i.ToString());
}
ArrayListList.Add(MonthArList);

}

还有种可能你是希望问如何访问定的变量 哈希表
//定义
Hashtable HashList = new Hashtable();
HashList.Add("AL1", new ArrayList());
HashList.Add("AL2", new ArrayList());
HashList.Add("AL3", new ArrayList());
HashList.Add("AL4", new ArrayList());
HashList.Add("AL5", new ArrayList());
//修改
HashList["AL1"] = "ArrayList";
//--不知道我的理解对不对

追问

首先先感谢你的回答。基本是这个意思;我需要解决的详细的问题如下:有一个字符串数组用来接收输入的字符串。比如吧 string[] Command={A1,B2,C3........}
让后怎么再定义arraylist A1,B2,C3................;并且在后续的代码用要对以上已定义的N个ARRAYLIST 进行增加元素
A1.ADD(XXX);

追答

ArrayList al = new ArrayList();
string[] StrArr = { "1", "2", "3", "4" };
al.AddRange(StrArr);
不要用Add 方法 换AddRange

本回答被网友采纳
第2个回答  2013-09-18
我觉得吧,用循环去定义多个,然后全部保存到数组里面,需要的时候取出来就是了
第3个回答  2013-09-18
List<ArrayLIst> list = new List<ArrayList>();

ArrayList AL1 = new ArrayList();
list.add(AL1);

不知道这样可不可以 ,紧紧提供一个思路。
第4个回答  2013-09-18
用ArrayList.add,把字符串添加到Arralist
相似回答