目录
1.匿名内部类中不能修改外面局部变量的值,因此在此处变量会默认为final的
一、List接口及常用方法
1.List接口
-
继承自Collection接口,List集合是可以重复集合的,并且有序,还提供了一套可以通过下标来操作元素的方法
-
常见的实现类:
1)ArrayList:内部使用数组实现。查询性能更好(直接下标找到物理地址)、增删性能不好
2)LinkedList:内部使用链表实现,查询性能不好,首尾增删性能好
注意:在对集合操作的增删性能没有特别苛刻的要求时,通常选择ArrayList
2.List常用方法
- -get():根据下标获取元素
- -set():将指定元素设置到指定为止,并返回被替换的元素(用时才接收)
- -重载remove():删除指定位置元素,并返回被删除的元素(用时才接收)
- -重载add():将指定元素添加到指定位置,理解为插入操作
package collection;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* List集合的演示
*/
public class ListDemo {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("one");
list.add("two");
list.add("three");
list.add("four");
list.add("five");
list.add("one");
System.out.println("list:"+list); //[one, two, three, four, five, one]
//E get(int index):获取指定下标所对应的元素
String e = list.get(2); //获取第3个元素
System.out.println(e); //three
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
for(String s : list){
System.out.println(s);
}
Iterator<String> it = list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
System.out.println("-----------------------");
//E set(int index,E e):将给定元素设置到指定位置,返回被替换的元素
//list.set(2,"six"); //将list中下标为2的元素设置为six---常规用法
String old = list.set(2,"six"); //将list中下标为2的元素设置为six,同时将原数据返回给old
System.out.println(old); //three
System.out.println("list:"+list); //[one, two, six, four, five, one]
//E remove(int index):删除指定位置元素,并返回被删除的元素
//list.remove(2); //删除下标为2的元素---常规用法
String s = list.remove(2); ///删除下标为2的元素,并将被删除元素返回给s
System.out.println(s); //six
System.out.println("list:"+list); //[one, two, four, five, one]
//void add(int index,E e):将给定元素e添加到index所指定的位置,相当于插入操作
list.add(3,"seven"); //在list下标为3的位置插入seven
System.out.println("list:"+list); //[one, two, four, seven, five, one]
}
}
- -subList():获取集合的子集(含头不含尾)
Math:数学的工具类,封装了很多数学相关的方法
Arrays:数组的工具类,封装了很多数组相关的方法