List子接口
人生如梦,人生如茶。。。
特点: 有序, 有下标, 元素可以重复
boolean |
add(E e) 将指定的元素追加到此列表的末尾(可选操作)。 |
---|---|
void |
add(int index, E element) 将指定的元素插入此列表中的指定位置(可选操作)。 |
boolean |
addAll(Collection extends E> c) 按指定集合的迭代器(可选操作)返回的顺序将指定集合中的所有元素附加到此列表的末尾。 |
boolean |
addAll(int index, Collection extends E> c) 将指定集合中的所有元素插入到此列表中的指定位置(可选操作)。 |
void |
clear() 从此列表中删除所有元素(可选操作)。 |
boolean |
contains(Object o) 如果此列表包含指定的元素,则返回 true 。 |
boolean |
containsAll(Collection> c) 如果此列表包含指定 集合的 所有元素,则返回true。 |
boolean |
equals(Object o) 将指定的对象与此列表进行比较以获得相等性。 |
E |
get(int index) 返回此列表中指定位置的元素。 |
int |
hashCode() 返回此列表的哈希码值。 |
int |
indexOf(Object o) 返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。 |
boolean |
isEmpty() 如果此列表不包含元素,则返回 true 。 |
Iterator |
iterator() 以正确的顺序返回该列表中的元素的迭代器。 |
int |
lastIndexOf(Object o) 返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。 |
ListIterator |
listIterator() 返回列表中的列表迭代器(按适当的顺序)。 |
ListIterator |
listIterator(int index) 从列表中的指定位置开始,返回列表中的元素(按正确顺序)的列表迭代器。 |
E |
remove(int index) 删除该列表中指定位置的元素(可选操作)。 |
boolean |
remove(Object o) 从列表中删除指定元素的第一个出现(如果存在)(可选操作)。 |
boolean |
removeAll(Collection> c) 从此列表中删除包含在指定集合中的所有元素(可选操作)。 |
default void |
replaceAll(UnaryOperator 将该列表的每个元素替换为将该运算符应用于该元素的结果。 |
boolean |
retainAll(Collection> c) 仅保留此列表中包含在指定集合中的元素(可选操作)。 |
E |
set(int index, E element) 用指定的元素(可选操作)替换此列表中指定位置的元素。 |
int |
size() 返回此列表中的元素数。 |
default void |
sort(Comparator super E> c) 使用随附的 Comparator 排序此列表来比较元素。 |
default Spliterator |
spliterator() 在此列表中的元素上创建一个Spliterator 。 |
List |
subList(int fromIndex, int toIndex) 返回此列表中指定的 fromIndex (含)和 toIndex 之间的视图。 |
Object[] |
toArray() 以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。 |
|
toArray(T[] a) 以正确的顺序返回一个包含此列表中所有元素的数组(从第一个到最后一个元素); 返回的数组的运行时类型是指定数组的运行时类型。 |
Modifier and Type | Method and Description |
---|---|
void |
add(E e) 将指定的元素插入列表(可选操作)。 |
boolean |
hasNext() 返回 true 如果遍历正向列表,列表迭代器有多个元素。 |
boolean |
hasPrevious() 返回 true 如果遍历反向列表,列表迭代器有多个元素。 |
E |
next() 返回列表中的下一个元素,并且前进光标位置。 |
int |
nextIndex() 返回随后调用 next() 返回的元素的索引。 |
E |
previous() 返回列表中的上一个元素,并向后移动光标位置。 |
int |
previousIndex() 返回由后续调用 previous() 返回的元素的索引。 |
void |
remove() 从列表中删除由 next() 或 previous() 返回的最后一个元素(可选操作)。 |
void |
set(E e) 用 指定的元素替换由 next() 或 previous() 返回的最后一个元素(可选操作)。 |
package 集合;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
public class ListDemo {
public static void main(String[] args) {
List list = new ArrayList();
//增加
list.add("苹果");
list.add("小米");
list.add("华为");
list.add(1, "三星");
System.out.println(list);
//包含
System.out.println(list.contains("华为"));
System.out.println(list.contains("vivo"));
//获取指定元素和元素位置
System.out.println(list.get(1));
System.out.println(list.indexOf("华为"));
System.out.println(list.indexOf("vivo")); //若此元素不存在则返回-1
System.out.println(list.isEmpty());
//for遍历
System.out.println("-------for循环遍历--------");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
//增强for
System.out.println("-----增强for-------");
for (Object object : list) {
System.out.println(object);
}
//普通迭代器
System.out.println("-------Itertor迭代---------");
Iterator its = list.iterator();
while(its.hasNext()) {
System.out.println(its.next());
}
//列表迭代器
System.out.println("------ListItertor顺序迭代");
ListIterator Lit = list.listIterator();
while(Lit.hasNext()) {
System.out.println(Lit.nextIndex() + ":" + Lit.next());
}
Lit.set("Vivo");
//注:ListItertor有指针,随next()或者previous而变化,因此若想要逆序遍历需首先顺序遍历
System.out.println("-------LIstItertor倒序遍历----------");
while(Lit.hasPrevious()) {
System.out.println(Lit.previousIndex() + ":" + Lit.previous());
}
//子集合的创建
List li = list.subList(1, 3);
System.out.println(li);
//删除元素
System.out.println("删除元素");
list.remove(0);
System.out.println(list);
list.remove("小米");
System.out.println(list);
}
}
注意:所有的集合只能存放引用类型的数据,对于基本类型需要装箱操作
package 集合;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class NumList {
public static void main(String[] args) {
List list = new ArrayList();
list.add(10);
list.add(20);
list.add(30);
list.add(40);
System.out.println(list);
//元素的获取
System.out.println(list.get(1));
//元素的遍历
System.out.println("---------元素的遍历---------");
ListIterator it = list.listIterator();
while(it.hasNext()) {
System.out.println(it.next());
}
//返回元素的位置
System.out.println("-----返回元素位置------");
System.out.println(list.indexOf(10));
//删除指定元素,和引用类型的删除不同
System.out.println(list);
// list.remove(10); //错误做法
list.remove(new Integer(10));
System.out.println(list);
}
}
微信扫码联系我
QQ扫码联系我
评论区(暂无评论)