1、线性结构的一些方法如下
boolean add(E e);对应的是尾插操作,对于线性结构来说,尾插是不可能失败的,返回值永远是true。
void add(int index,E element);将元素插入到给定位置(index指定的下标处),从[index,size()]所有元素逻辑上后移一位
boolean remove(Object o);删除第一个遇到的和o相等的元素
equals:相等
返回值代表是否删除成功
E remove(int index);将[index]位置的元素从线性结构中取出并返回,让[index + 1,size()]的所有元素逻辑上前移一个位置
boolean addAll(Collection c);将c容器中的所有进行尾插元素(按照一定的次序)
void sort(Comparator <E> c);衡量元素大小进行原地排序
E get(int index);返回index位置的元素
E set(int index,E element);用element替换index位置的元素,并返回index位置原来的元素
int indexOf(E e);从前往后,第一个和e相等的元素的位置
int lastIndexOf(E e);从后往前,最后一个和e相等的元素的位置
List <E> subList(int fromIndex,int toIndex);将原有线性结构的(int fromIndex,int toIndex)截取成一个新的线性结构并返回
2、以下代码加深理解:
import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.List;
public class Demo {
public static void main1(String[] args) {
//继承带来的引用指向
Iterable<String> i = new ArrayList<>();
Collection<String> c = new ArrayList<>();
List<String> l = new ArrayList<>();
ArrayList<String> a = new ArrayList<>();
}
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
System.out.println(list);
System.out.println(list.size());
System.out.println(list.isEmpty());
list.add(12);
list.add(3);
System.out.println(list);
System.out.println(list.size());
System.out.println(list.isEmpty());
System.out.println(list.get(2));
System.out.println(list.set(3,5));
System.out.println(list);
//排序从小到大
list.sort(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1.compareTo(o2);
}
});
System.out.println(list);
//排序从大到小
list.sort(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2.compareTo(o1);
}
});
System.out.println(list);
list.clear();
System.out.println(list.size());
System.out.println(list.isEmpty());
}
}
输出的结果为: