package cn.itcast.list;
import java.util.ArrayList;
import java.util.List;
/*
集合 的体系图:
------| Collection 单列集合的根接口
-----------| List 如果是实现了List接口的集合类,具备的特点:有序,元素可重复。
-----------| Set 如果是实现了Set接口的集合类,具备的特点: 无序,元素不可重复。
集合中的有序是指添加到集合元素中的顺序与存储的顺序是一致。
*/
public class Demo2 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("狗娃");
list.add("狗剩");
list.add("铁蛋");
list.add("铁蛋");
System.out.println("集合的元素:"+ list);
}
}
package cn.itcast.list;
import java.util.ArrayList;
import java.util.List;
/*
List接口下面特有的方法:
增加
add(int index, E element) 指定索引值添加元素
addAll(int index, Collection c) 指定索引值把一个集合的元素添加到另外一个集合中、
删除
remove(int index) 指定索引值删除元素
修改
set(int index, E element) 指定索引值修改元素
获取
get(int index) 根据索引值获取元素
indexOf(Object o) 查找指定元素第一次出现的索引值, 如果不包含指定的元素则返回-1表示.
lastIndexOf(Object o) 查找指定元素最后一次出现的索引值, 如果不包含指定的元素则返回-1表示.
subList(int fromIndex, int toIndex) 指定开始于结束的索引值截取集合中的元素,返回
迭代
listIterator()
List接口特有的方法都是操作索引值的,
*/
public class Demo3 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("王林");
list.add("马云");
list.add("志军");
/*
List list2 = new ArrayList();
list2.add("如花");
list2.add("凤姐");
list2.add("美美");
* 添加
list.add(1,"化腾");
list.addAll(2, list2);
*
* 删除
System.out.println("返回被删除的元素:"+ list.remove(2));
修改
list.set(1, "马元坤");
*/
System.out.println("集合的元素:"+ list);
}
}
package cn.itcast.list;
import java.util.ArrayList;
import java.util.List;
/*
获取
get(int index) 根据索引值获取元素
indexOf(Object o) 查找指定元素第一次出现的索引值, 如果不包含指定的元素则返回-1表示.
lastIndexOf(Object o) 查找指定元素最后一次出现的索引值, 如果不包含指定的元素则返回-1表示.
subList(int fromIndex, int toIndex) 指定开始于结束的索引值截取集合中的元素,返回
迭代
listIterator()
*/
public class Demo4 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("王林");
list.add("马云");
list.add("志军");
list.add("马云");
/*
System.out.println("元素:"+ list.get(2));
for(int index = 0 ; index< list.size() ; index++){
System.out.print(list.get(index)+",");
}
System.out.println("索引值:"+ list.indexOf("马云"));
System.out.println("最后一次出现 的元素索引值:"+ list.lastIndexOf("马云"));
List subList = list.subList(2, 4) ; // 包头不包尾
System.out.println("子集合的元素:"+ subList);
*/
}
}
package cn.itcast.list;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
/*
迭代
listIterator()
listIterator特有的方法:
next() : 先获取当前游标指向的元素,然后游标向下移动一个 单位。
hasPrevious() 问是否有上一个元素
previous() 游标先向上移动一个单位,然后获取当前游标指向的元素。
add(E e) 把元素添加到当前游标指向的位置上。
set(E e) 使用指定的元素替代迭代器最后一次返回的元素。
*/
public class Demo5 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("王林");
list.add("马云");
list.add("志军");
list.add("表哥");
ListIterator it = list.listIterator(); // 获取到一个迭代器
/*
it.next();
it.next();
//System.out.println("有上一个元素吗?"+ it.hasPrevious());
System.out.println("上一个元素:"+ it.previous());
*
while(it.hasNext()){
it.next();
}
while(it.hasPrevious()){
System.out.print(it.previous()+",");
}
it.add("宝宝");
*/
it.next();
it.next();
it.set("狗娃");
System.out.println("集合的元素:"+ list);
}
}