特点:
1.有序
2.有索引
3.允许存储重复元素
特有方法:
void add(index)在指定位置添加元素
E get(index)获取指定位置元素
E remove(index )将指定位置元素删除,返回值是被移除的元素
E set(index,element)将指定位置元素换为一个新的元素,返回值是被替换的元素。
子类
ArrayList类
ArrayList类List接口大小可变的数组实现
特点: 增删慢,查询快;线程不同步,不安全;效率高
LinkedList类
LinkedList List类的链表实现(双向链表)
特点: 增删快,查询慢 ;线程不同步,不安全;效率高
方法举例:
(有大量对链表的首尾操作)
void addFirst(E)/E getFirst()/E peekFirst()获取但不移除第一个元素/E removeFirst()
void addLast(E)(相当于void push())/E getLast()/E peekLast()--/E removeLast()(相当于E pop())
Vector
Vector数组,单线程
特点:查询快,增删慢;线程同步,安全,效率低
方法举例:
1.addElement(E)将指定元素添加至末尾
2.elements()枚举
小练习.
某地区每年评选五个优秀企业,并加以排名,去年评选排名情况如下(假设每年评选都是在去年基础上进行修改):
1.a企业2.b企业3.c企业4.e企业5.f企业
现需要:
1.查看去年获得该地区第二的优秀企业。
2.今年评选时,发现f企业有不良竞争行为,将f企业从优秀企业中除名。
3.今年评选时,g企业脱颖而出,跻身优秀企业第五名。
4.今年评选时,发现e企业不如其同行业的d企业,d企业取代e企业成为该地区第四优秀企业。