Java中的集合类对象就像一个容器,用来存放Java类的对象。
Java.util包中提供了一些集合类,这些集合类又被称为容器。集合类和数组的区别是:(1)数组长度是固定的,集合长度是可变的。(2)数组用来存放基本类型,集合用来存放对象的引用。
Java集合类的的继承关系如图:
1、List集合
List集合包括List接口以及List接口的所有实现类。List集合元素允许重复,各元素的顺序就是对象插入顺序。
1、1List接口
Method | return | describle |
add(int index,Object obj) | void | 向集合的index位置添加对象index从0开始 |
allAll(int index,Collection coll) | boolean | 向集合index位置添加指定集合对象 |
remove(int index) | Obj | 删除index对象 |
get(int index) | Obj | 获取index对象 |
indexOf(Object obj) | int | 返回obj第一次出现的index |
lastIndexOf(Object obj) | int | 返回obj最后一次出现的index |
subList(int formIndex,int toIndex) | List | 获取从formIndex到toIndex之间的对象 |
set(int index,E element) | Obj | 用obj替换index处的对象 |
listIterator() | ListIterator | 获得一个包含所有对象的ListIterator列表迭代器 |
List接口的实现类:
List<String> list = new ArrayList<String>();
List<String> list = new LinkedList<String>();
遍历List集合:
for(int i = 0;i < list.size();i++){
System.out.println(list.get(i));
}
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
System.out.print(iterator.next()+"");
}
examples:
创建集合对象,add()/set()/iterator()
package sixteen;
//list.add(int index,Object obj);方法在index位置上添加
//list.set(int index,Object obj);方法用obj替换index位置上的字符
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class addset {
public static void main(String[] args){
String a = "A";
String b = "B";
String c = "C";
String d = "D";
List<String> list = new ArrayList<String>();
list.add(a);
list.add(c);
list.add(d);
/*java.util.Iterator<String>*/
/*Iterator<String> java.util.List.iterator()
* Returns:
an Iterator over the elements in this collection*/
Iterator<String>firstIterator = list.iterator();
System.out.println("before modification: ");
while(firstIterator.hasNext()){
System.out.println(firstIterator.next() + " ");
}
list.set(1,b);
Iterator<String> secondIterator = list.iterator();
System.out.println("after set: ");
while(secondIterator.hasNext()){
System.out.println(secondIterator.next() + " ");
}
list.add(2,c);
Iterator<String> thirdIterator = list.iterator();
System.out.println("after add:");
while(thirdIterator.hasNext()){
System.out.println(thirdIterator.next() + " ");
}
}
}
/*before modification:
A
C
D
after set:
A
B
D
after add:
A
B
C
D */
indexOf()/lastIndexOf()
package sixteen;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class indexoflastindexof {
public static void main(String[] args){
String a = "a",b = "b",c = "c",orange = "orange";
List<String> list = new ArrayList<String>();
list.add(a);
list.add(b);
list.add(orange);
list.add(c);
list.add(orange);
Iterator<String> it = list.iterator();
System.out.print("list is :\n");
while(it.hasNext()){
System.out.println(it.next() + " ");
}
/*int java.util.List.indexOf(Object o)
* Parameters:
o element to search for
Returns:
the index of the first occurrence of the specified
element in this list, or -1 if this list does not
contain the element*/
int first = list.indexOf(orange);
System.out.println("orange's fist show is at " + first);
int last = list.lastIndexOf(orange);
System.out.println("orange's last show is at " + last);
}
}
/*list is :
a
b
orange
c
orange
orange's fist show is at 2
orange's last show is at 4*/