day11-集合框架 LinkedList,泛型的概述
1 LinkedList的特有功能
import java.util.LinkedList;
class DemoLinkedList {
public static void main(String[] args) {
LinkedList list=new LinkedList();
list.addFirst("a");
list.addFirst("b");
list.addFirst("c");
list.addFirst("d");
System.out.println(list);
list.addLast("e");
list.addLast("f");
System.out.println(list);
System.out.println(list.getFirst());
System.out.println(list.getLast());
System.out.println(list);
System.out.println(list.removeFirst());
System.out.println(list.removeLast());
System.out.println(list);
System.out.println(list.get(1));
System.out.println(list.get(3));
System.out.println(list.get(4));
}
}
2 泛型概述
- 1 泛型基本使用
- 2 泛型使用注意事项
- 前后的泛型必须一致,或者后面的泛型可以省略不写(1.7的新特性菱形泛型)
- 3 泛型类
- 4 泛型方法
- public <泛型类型> 返回类型 方法名(泛型类型 变量名)
- 5 泛型接口
- public interface 接口名<泛型类型>
- 6 泛型高级之通配符
- 泛型通配符<?>,表示任意类型
- ? extends E
3 增强for循环的概述
import java.util.ArrayList;
class DemoBigFor {
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
for(String s:list) {
System.out.println(s);
}
}
}
4 三种迭代的能否删除(要求写代码)
- 1 普通for循环,可以删除,但是索引要i--,因为it.next自动索引后移
- 2 迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常
- 3 增强for循环不能删除
5 可变参数的概述和使用
class Changeargs {
public static void main(String[] args) {
change c=new change();
c.show(1,2,3,4,5);
}
}
class change {
public void show(int x,int ... arr) {
for(int i:arr) {
System.out.println(i);
}
}
}
6 Arrays工具类的asList()方法的使用(要求写代码)
7 集合嵌套之ArrayList嵌套ArrayList(要求写代码)