package com.sqf.conlection;
import java.util.ArrayList;
import java.util.List;
/*
List接口中特有方法:
如果是实现了List接口的集合类,该集合类具备的特点:有序,可重复。
有序: 集合的有序不是指自然顺序,而是指添加进去的顺序与元素出来的顺序是一致的
添加
add(int index, E element) //把element对象插入到index位置
addAll(int index, Collection c)
获取:
get(int index) 获取集合中的第index的元素
indexOf(Object o) 找出指定元素第一次出现在集合中 的索引值
lastIndexOf(Object o) 找出指定元素最后一次出现在集合中 的索引值
subList(int fromIndex, int toIndex) 截取集合中的元素,包头不包尾
修改:
set(int index, E element) 在指定的位置修改元素
迭代
listIterator()
List接口中特有的方法具备的特点: 操作的方法都存在索引值。
只有List接口下面的集合类才具备索引值。其他接口下面的集合类都没有索引值。
ctrl + shift + / 添加多行注释
ctrl + shift + \ 取消多行注释.
*/
public class Demo {
public static void main(String[] args) {
List list = new ArrayList();
list.add("小王");
list.add("小吴");
list.add("小张");
list.add(1, "插入元素");
List list1 = new ArrayList();
list1.add("哈哈");
list1.add("嘿嘿");
list.addAll(list1);
/*
获取:
get(int index)
indexOf(Object o)
lastIndexOf(Object o)
subList(int fromIndex, int toIndex)
*/
System.out.println("获取第三个元素:"+list.get(2));
System.out.println("找出指定元素第一次出现在集合中 的索引值" + list.indexOf("嘿嘿"));
System.out.println("找指定的元素最后一次出现在集合中的索引值:" + list.lastIndexOf("哈哈"));
List subList = list.subList(2, 4); //包头不包尾
list.set(1, "你猜");
System.out.println(subList);
}
}
package com.sqf.conlection;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
/*
List中的迭代
迭代
listIterator() 返回ListIterator类
ListIterator特有的方法:
添加:
hasPrevious() 判断是否存在上一个元素。
previous() 当前指针先向上移动一个单位,然后再取出当前指针指向的元素。
next(); 先取出当前指针指向的元素,然后指针向下移动一个单位。
previous与next正好相反
---------------------------
add(E e) 把当前有元素插入到当前指针指向的位置上。
set(E e) 替换迭代器最后一次返回的元素。
*/
public class Demo1 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("小张");
list.add("小王");
list.add("小撒");
ListIterator it = list.listIterator();
System.out.println("前面是否存在元素:"+ it.hasPrevious());
/*
while(it.hasNext()){ 想明白为什么是死循环
it.next();
System.out.println(it.previous());
}*/
}
}