List 代表一个元素有序、且可重复的集合,集合中的每个元素都有其对应的顺序索引
List 允许使用重复元素,可以通过索引来访问指定位置的集合元素。
List 默认按元素的添加顺序设置元素的索引。
List 集合里添加了一些根据索引来操作集合元素的方法:
另外:
List 额外提供了一个 listIterator()
方法,该方法返回一个 ListIterator 对象,
ListIterator 接口继承了 Iterator 接口,提供了专门操作
List 的方法:
boolean hasPrevious()
Object previous()
void add()
ArrayList 和 Vector 是 List 接口的两个典型实现 区别:
1、Vector 是一个古老的集合,通常建议使用 ArrayList。
2、ArrayList 是线程不安全的,而 Vector
是线程安全的。
3、即使为保证 List 集合线程安全,也不推荐使用
Vector。
1 public class Person {
2
3 private String name;
4 private int age;
5
6 public String getName() {
7 return name;
8 }
9 public void setName(String name) {
10 this.name = name;
11 }
12 public int getAge() {
13 return age;
14 }
15 public void setAge(int age) {
16 this.age = age;
17 }
18 public Person(String name, int age) {
19 super();
20 this.name = name;
21 this.age = age;
22 }
23 public Person(){}
24 @Override
25 public String toString() {
26 return "Person [name=" + name + ", age=" + age + "]";
27 }
28 }
练习代码1:Person类
1 import java.util.ArrayList;
2 import java.util.Comparator;
3 import java.util.List;
4
5 public class TestArrayList {
6 public static void main(String []args){
7
8 List list = new ArrayList();
9 List list2 = new ArrayList();
10 Person p1 = new Person("lisi007",15);
11 list.add(new Person("lisi003",12));
12 list.add(new Person("lisi003",12));
13 list.add(p1);
14 list.add(new Person("lisi005",10));
15 list.add(new Person("lisi006",20));
16
17 for(Object obj:list){
18 System.out.println(obj);
19 }
20
21 System.out.println();
22 list2.add(new Person("zhangsan",22));
23 list2.add(new Person("zhangsan",23));
24 list.addAll(2, list2);
25 list.add(3, p1);
26 // list.remove(1);
27
28 System.out.println(list.indexOf(p1));
29 System.out.println(list.lastIndexOf(p1));
30
31 for(Object obj:list){
32 System.out.println(obj);
33 }
34
35 /* //遍历List方法1:调用iterator()方法
36 Iterator iterator = list.iterator();
37 while(iterator.hasNext()){
38 System.out.println(iterator.next());
39 }
40
41 //遍历List方法2:增强for循环
42 for(Object obj:list){
43 System.out.println(obj);
44 }
45
46 //遍历List方法3:for循环,利用get(int index)
47 for(int i=0;i<list.size();i++){
48 System.out.println(list.get(i));
49 }
50 //遍历List方法4:
51 ListIterator li = list.listIterator();
52 while(li.hasNext()){
53 System.out.println(li.next());
54 }
55 */
56 }
57 }
练习代码2:TestArrayList类(主程序)
复习java基础第四天(集合)
时间: 2024-08-09 02:07:48