说到灵活那肯定是ArrayList了。ArrayList al = new ArrayList();
al.Add("abc");
al.Add(3.14);
al.Add(new Class1());灵不灵活?代价是执行效率慢和发生错误的可能性变多。List因为是泛型所以执行效率比ArrayList快。
能用List的地方就尽可能不要用ArrayList.