List list = new ArrayList(); //数组实现 List list = new LinkedList(); //链表实现
看一下api 然后网上搜索一下就有一大把了贝
呵呵 支持一下,学会看API,最好是英文的
import java.util.ArrayList; import java.util.Random;public class Sample01 { /** * @param args */ public static void main(String[] args) { ArrayList<Integer> al = new ArrayList<Integer>(); Random r = new Random(); int temp = 0;
for (int i = 0; i < 10; i++) { temp = r.nextInt(100); al.add(temp); System.out.print(temp + " "); } System.out.println();
for (int i = 0; i < al.size(); i++) { System.out.print(al.get(i) + " "); } System.out.println(); }}
import java.util.ArrayList; import java.util.Random;public class Sample02 {
private int min = 1;
private int max = 10;
public Sample02(int min, int max) { this.setMinMax(min, max); } public Sample02() { this(1, 10); }
public Integer[] getInt() { ArrayList<Integer> al = new ArrayList<Integer>(); for (int i = min; i <= max; i++) { al.add(i); }
ArrayList<Integer> result = new ArrayList<Integer>(); Random r = new Random(); for (int i = 0; i < al.size();) { result.add(al.remove(r.nextInt(al.size()))); }
return result.toArray(new Integer[0]); }
public int[] getIntArray(int num) { int[] array = new int[max - min + 1]; Random r = new Random(); int temp = 0; int index1 = 0, index2 = 0;
for (int i = min; i <= max; i++) { array[i-min] = i; }
for (int i = 0; i < num; i++) { for (int j = 0; j < array.length; j++) { index1 = r.nextInt(array.length); index2 = r.nextInt(array.length); temp = array[index1]; array[index1] = array[index2]; array[index2] = temp; } } return array; }
public void setMinMax(int min, int max) { if (max < min) { this.min = max; this.max = min; } else { this.min = min; this.max = max; } }
public static void print(Integer[] it) { if (it == null) { return; }
for (int i = 0; i < it.length; i++) { System.out.print(it[i] + " "); } System.out.println(); }
public static void print(int[] it) { if (it == null) { return; }
for (int i = 0; i < it.length; i++) { System.out.print(it[i] + " "); } System.out.println(); }
/** * @param args */ public static void main(String[] args) { Sample02 test = new Sample02();
public static void main(String args[]){
ArrayList<String> al = new ArrayList<String>();
al.add("a");
al.add("c");
al.add("b");
Iterator i = al.iterator();
Iterator ii = al.iterator();
while (i.hasNext())
System.out.print(i.next() +" ");
System.out.println();
while (ii.hasNext())
System.out.print(ii.next() +" ");
}
}
http://hi.baidu.com/%D6%D9%C1%C1%C1%C1/blog/item/f4192c1b826eb9ffae513310.html
import java.util.Iterator;
import java.util.List;/**
* 方法都是API文档上的,多看看,还有很多方!!!!!!
* @author Administrator
*
*/
public class ArrayListTest { public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
for(Iterator<String> it = list.iterator(); it.hasNext();) {
System.out.println(it.next());
}
list.remove(0);
System.out.println(list);
System.out.println(list.get(1));
list.clear();
System.out.println(list);
}
}
System.Collections.ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。一.优点1。支持自动改变大小的功能
2。可以灵活的插入元素
3。可以灵活的删除元素二.局限性跟一般的数组比起来,速度上差些三.添加元素1.publicvirtualintAdd(objectvalue);将对象添加到ArrayList的结尾处ArrayListaList=newArrayList();
aList.Add("a");
aList.Add("b");
aList.Add("c");
aList.Add("d");
aList.Add("e");
内容为abcde2.publicvirtualvoidInsert(intindex,objectvalue);将元素插入ArrayList的指定索引处ArrayListaList=newArrayList();
aList.Add("a");
aList.Add("b");
aList.Add("c");
aList.Add("d");
aList.Add("e");
aList.Insert(0,"aa");结果为aaabcde3.publicvirtualvoidInsertRange(intindex,ICollectionc);将集合中的某个元素插入ArrayList的指定索引处ArrayListaList=newArrayList();
aList.Add("a");
aList.Add("b");
aList.Add("c");
aList.Add("d");
aList.Add("e");
ArrayListlist2=newArrayList();
list2.Add("tt");
list2.Add("ttt");
aList.InsertRange(2,list2);结果为abtttttcde四.删除a)publicvirtualvoidRemove(objectobj);从ArrayList中移除特定对象的第一个匹配项,注意是第一个ArrayListaList=newArrayList();
aList.Add("a");
aList.Add("b");
aList.Add("c");
aList.Add("d");
aList.Add("e");
aList.Remove("a");结果为bcde2.publicvirtualvoidRemoveAt(intindex);移除ArrayList的指定索引处的元素aList.Add("a");
aList.Add("b");
aList.Add("c");
aList.Add("d");
aList.Add("e");
aList.RemoveAt(0);结果为bcde3.publicvirtualvoidRemoveRange(intindex,intcount);从ArrayList中移除一定范围的元素。Index表示索引,count表示从索引处开始的数目aList.Add("a");
aList.Add("b");
aList.Add("c");
aList.Add("d");
aList.Add("e");
aList.RemoveRange(1,3);结果为ae4.publicvirtualvoidClear();从ArrayList中移除所有元素。五.排序a)publicvirtualvoidSort();对ArrayList或它的一部分中的元素进行排序。ArrayListaList=newArrayList();
aList.Add("e");
aList.Add("a");
aList.Add("b");
aList.Add("c");
aList.Add("d");
DropDownList1.DataSource=aList;//DropDownListDropDownList1;
DropDownList1.DataBind();结果为eabcdArrayListaList=newArrayList();
aList.Add("a");
aList.Add("b");
aList.Add("c");
aList.Add("d");
aList.Add("e");
aList.Sort();//排序
DropDownList1.DataSource=aList;//DropDownListDropDownList1;
DropDownList1.DataBind();结果为abcdeb)publicvirtualvoidReverse();将ArrayList或它的一部分中元素的顺序反转。ArrayListaList=newArrayList();
aList.Add("a");
aList.Add("b");
aList.Add("c");
aList.Add("d");
aList.Add("e");
aList.Reverse();//反转
DropDownList1.DataSource=aList;//DropDownListDropDownList1;
DropDownList1.DataBind();
结果为edcba六.查找a)publicvirtualintIndexOf(object);
b)publicvirtualintIndexOf(object,int);
c)publicvirtualintIndexOf(object,int,int);返回ArrayList或它的一部分中某个值的第一个匹配项的从零开始的索引。没找到返回-1。ArrayListaList=newArrayList();
aList.Add("a");
aList.Add("b");
aList.Add("c");
aList.Add("d");
aList.Add("e");
intnIndex=aList.IndexOf(“a”);//1
nIndex=aList.IndexOf(“p”);//没找到,-1
d)publicvirtualintLastIndexOf(object);
e)publicvirtualintLastIndexOf(object,int);
f)publicvirtualintLastIndexOf(object,int,int);返回ArrayList或它的一部分中某个值的最后一个匹配项的从零开始的索引。ArrayListaList=newArrayList();
aList.Add("a");
aList.Add("b");
aList.Add("a");//同0
aList.Add("d");
aList.Add("e");
intnIndex=aList.LastIndexOf("a");//值为2而不是0g)publicvirtualboolContains(objectitem);确定某个元素是否在ArrayList中。包含返回true,否则返回false七.其他1.publicvirtualintCapacity{get;set;}获取或设置ArrayList可包含的元素数。2.publicvirtualintCount{get;}获取ArrayList中实际包含的元素数。
Capacity是ArrayList可以存储的元素数。Count是ArrayList中实际包含的元素数。Capacity总是大于或等于Count。如果在添加元素时,Count超过Capacity,则该列表的容量会通过自动重新分配内部数组加倍。
如果Capacity的值显式设置,则内部数组也需要重新分配以容纳指定的容量。如果Capacity被显式设置为0,则公共语言运行库将其设置为默认容量。默认容量为16。
在调用Clear后,Count为0,而此时Capacity切是默认容量16,而不是03.publicvirtualvoidTrimToSize();将容量设置为ArrayList中元素的实际数量。
如果不向列表中添加新元素,则此方法可用于最小化列表的内存系统开销。
若要完全清除列表中的所有元素,请在调用TrimToSize之前调用Clear方法。截去空ArrayList会将ArrayList的容量设置为默认容量,而不是零。ArrayListaList=newArrayList();
aList.Add("a");
aList.Add("b");
aList.Add("c");
aList.Add("d");
aList.Add("e");//Count=5,Capacity=16,
aList.TrimToSize();//Count=Capacity=5;
看看这里吧
List list = new LinkedList(); //链表实现
然后网上搜索一下就有一大把了贝
import java.util.ArrayList;
import java.util.Random;public class Sample01 { /**
* @param args
*/
public static void main(String[] args) {
ArrayList<Integer> al = new ArrayList<Integer>();
Random r = new Random();
int temp = 0;
for (int i = 0; i < 10; i++) {
temp = r.nextInt(100);
al.add(temp);
System.out.print(temp + " ");
}
System.out.println();
// al.add(3, r.nextInt(100));
// if (al.remove(al.get(6))) {
// System.out.println("true");
// }
al.set(3, 1000);
for (int i = 0; i < al.size(); i++) {
System.out.print(al.get(i) + " ");
}
System.out.println();
}}
import java.util.ArrayList;
import java.util.Random;public class Sample02 {
private int min = 1;
private int max = 10;
public Sample02(int min, int max) {
this.setMinMax(min, max);
} public Sample02() {
this(1, 10);
}
public Integer[] getInt() {
ArrayList<Integer> al = new ArrayList<Integer>();
for (int i = min; i <= max; i++) {
al.add(i);
}
ArrayList<Integer> result = new ArrayList<Integer>();
Random r = new Random();
for (int i = 0; i < al.size();) {
result.add(al.remove(r.nextInt(al.size())));
}
return result.toArray(new Integer[0]);
}
public int[] getIntArray(int num) {
int[] array = new int[max - min + 1];
Random r = new Random();
int temp = 0;
int index1 = 0, index2 = 0;
for (int i = min; i <= max; i++) {
array[i-min] = i;
}
for (int i = 0; i < num; i++) {
for (int j = 0; j < array.length; j++) {
index1 = r.nextInt(array.length);
index2 = r.nextInt(array.length);
temp = array[index1];
array[index1] = array[index2];
array[index2] = temp;
}
}
return array;
}
public void setMinMax(int min, int max) {
if (max < min) {
this.min = max;
this.max = min;
} else {
this.min = min;
this.max = max;
}
}
public static void print(Integer[] it) {
if (it == null) {
return;
}
for (int i = 0; i < it.length; i++) {
System.out.print(it[i] + " ");
}
System.out.println();
}
public static void print(int[] it) {
if (it == null) {
return;
}
for (int i = 0; i < it.length; i++) {
System.out.print(it[i] + " ");
}
System.out.println();
}
/**
* @param args
*/
public static void main(String[] args) {
Sample02 test = new Sample02();
Sample02.print(test.getInt());
Sample02.print(test.getInt());
Sample02.print(test.getInt());
System.out.println();
test.setMinMax(100, 88);
// Sample02.print(test.getInt());
// Sample02.print(test.getInt());
// Sample02.print(test.getInt());
Sample02.print(test.getIntArray(3));
Sample02.print(test.getIntArray(3));
Sample02.print(test.getIntArray(3));
}}
import java.util.ArrayList;public class Sample03 { /**
* @param args
*/
public static void main(String[] args) {
ArrayList<int[]> al = new ArrayList<int[]>();
int[] array1 = {3, 4, 5};
int[] array2 = {7, 8, 9};
int[] array3 = {11, 12, 13};
al.add(array1);
al.add(array2);
al.add(array3);
System.out.println(al.get(0)[0]);
Object[] obj = al.toArray();
int[][] it = al.toArray(new int[0][0]);
System.out.println(((int[])obj[0])[0]);
System.out.println(it[0][0]);
}}