集合与数组相似,但他的长度是可变的
list集合继承了collection接口,list集合的实现类是ArrayList()。
如下:
package com.test;
import java.util.ArrayList; // import the ArrayList package
import java.util.List; // import the List package
public class Test {
public List list; //declare List collection
Test(){
this.list= new ArrayList(); //Implementation of List collection
}
}
list集合中的元素是有序的,可重复的。
先定义一个Student类
package com.test;
public class Student {
public String m_name;
public int m_id;
public Student(int id,String name){
this.m_name= name;
this.m_id = id;
}
}
再定义一个类,里面包含main()方法来实现
然后在list集合中添加元素
package com.test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test {
public List<Student> list;
public Test(){
this.list= new ArrayList<Student>();
}
//add to student
public void TestAdd(){
Student stu = new Student(1,"小明");
list.add(stu); //add student
Student stu1= new Student(2,"小李");
list.add(0, stu1); //Specify the location to add the student
Student[] stu2= {new Student(3,"小陈"),new Student(4,"小周")};
list.addAll(Arrays.asList(stu2)); //Add a number of student
Student[] stu3= {new Student(5,"小吴"),new Student(1,"小明")};
list.addAll(2, Arrays.asList(stu3)); //Specify the location to add a number of student
}
public static void main(String[] args) {
Test test = new Test();
test.TestAdd();
}
}
在list集合中遍历元素:
<pre name="code" class="java">
public void TestFor(){
int size = list.size(); //get the length of the list
for(int i=0; i<size; i++){
Student stu = list.get(i); //get element of the list
System.out.println("student: "+stu.m_id+":"+stu.m_name);
}
System.out.println();
}
//Using ForEach traversal elements
public void TestForEach(){
for(Student stu:list){ //Get elements from the list to the Student object
System.out.println("student: "+stu.m_id+":"+stu.m_name);
}
System.out.println();
}
//Using iterator traversal element
public void TestIterator(){
Iterator it = list.iterator(); //Define iterator objects
while(it.hasNext()){ //Whether the judgment is empty
Student stu = (Student)it.next(); //Mandatory conversion of iterator object to the Student object
System.out.println("student: "+stu.m_id+":"+stu.m_name);
}
System.out.println();
}
public static void main(String[] args) {
Test test = new Test();
test.TestAdd();
<span style="white-space:pre"> </span>test.TestFor();
<span style="white-space:pre"> </span>test.TestForEach();
<span style="white-space:pre"> </span>test.TestIterator();
}
result is:
student: 2:小李<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 2:小李<span style="white-space:pre"> </span></span><span style="font-family: Arial, Helvetica, sans-serif;">student: 2:小李</span>
student: 1:小明<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 1:小明</span><span style="font-family: Arial, Helvetica, sans-serif;"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 1:小明</span>
student: 5:小吴<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 5:小吴<span style="white-space:pre"> </span></span><span style="font-family: Arial, Helvetica, sans-serif;">student: 5:小吴</span>
student: 1:小明<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 1:小明<span style="white-space:pre"> </span></span><span style="font-family: Arial, Helvetica, sans-serif;">student: 1:小明</span>
student: 3:小陈<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 3:小陈<span style="white-space:pre"> </span></span><span style="font-family: Arial, Helvetica, sans-serif;">student: 3:小陈</span>
student: 4:小周<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 4:小周<span style="white-space:pre"> </span></span><span style="font-family: Arial, Helvetica, sans-serif;">student: 4:小周</span>
在list集合中修改元素:
<pre name="code" class="java">//modify element
public void TestModify(){
list.set(3, new Student(6,"小张")); //Replace the element with the specified location in the list with the new element
this.TestFor();
}
<pre name="code" class="java">public static void main(String[] args) {
Test test = new Test();
test.TestAdd();
<span> </span>test.TestFor();
<span> </span>test.TestModify();
}
result is:
student: 2:小李<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 2:小李</span>
student: 1:小明<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 1:小明</span>
student: 5:小吴<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 5:小吴</span>
student: 1:小明<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 6:小张</span>
student: 3:小陈<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 3:小陈</span>
student: 4:小周<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 4:小周</span>
在List集合中删除元素:
<pre name="code" class="java">//delete student
public void TestRemove(){
list.remove(3); //Remove elements from the specified location
this.TestFor();
list.remove(list.get(0)); //Direct delete element
this.TestFor();
Student[] stu = {(Student)list.get(1),(Student)list.get(2)}; //get multiple elements
list.removeAll(Arrays.asList(stu)); //delete multiple elements
this.TestFor();
}
<pre name="code" class="java">public static void main(String[] args) {
Test test = new Test();
test.TestAdd();
<span> </span>test.TestFor();
<span> </span>test.TesRemove();
}
result is:
student: 2:小李<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 2:小李<span style="white-space:pre"> </span></span><span style="font-family: Arial, Helvetica, sans-serif;">student: 1:小明<span style="white-space:pre"> </span></span><span style="font-family: Arial, Helvetica, sans-serif;">student: 1:小明</span>
student: 1:小明<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 1:小明<span style="white-space:pre"> </span></span><span style="font-family: Arial, Helvetica, sans-serif;">student: 5:小吴<span style="white-space:pre"> </span></span><span style="font-family: Arial, Helvetica, sans-serif;">student: 4:小周</span>
student: 5:小吴<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 5:小吴<span style="white-space:pre"> </span></span><span style="font-family: Arial, Helvetica, sans-serif;">student: 3:小陈</span>
student: 1:小明<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 3:小陈<span style="white-space:pre"> </span></span><span style="font-family: Arial, Helvetica, sans-serif;">student: 4:小周</span>
student: 3:小陈<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">student: 4:小周</span>
student: 4:小周