Java集合框架(List部分)

集合框架

一、 Collection接口

  1. 创建集合对象Collectioncoll = new ArrayList<>();

    ArrayList();空参构造,构造一个容量为10的集合对象。

  2. Collection接口常用的方法:

    • Add(E e);向集合对象中添加元素
    • clear();清空整个集合
    • remove(Object obj);删除指定元素
    • size(); 返回集合的长度,储存元素的个数
  3. Collection的遍历,迭代器遍历(Iterator)

    • 因为集合的实现类,他的底层的实现方式各不相同,有的有下标,有的没有下标,遍历的时候遍历的方式都不相同,java中提供了统一的遍历方式,迭代器的遍历
    • 迭代器遍历:
      * 创建迭代器对象 ,iterator获取迭代器对象
      * 判断是否有元素可以进行遍历,迭代器对象.hasNext()方法进行判断
      * 取出里面的元素,迭代器对象.next();方法取出里面的元素
      • 注意:在使用迭代器进行遍历的时候,比恩对集合中的元素进修删除,增加,如果需要删除,必须使用迭代器的remove方法

      • 使用for循环,while循环,两个迭代器的生命周期不同,节约内存

      • 使用泛型的方式去创建集合

        • Collection<泛型>list = new ArrayList<泛型>();
        • 泛型:所有的引用数据类型
        • 特点:只能储存同一种数据类型,方便数据归类,避免进行强转

二、List接口

  • 特点:元素有序,有下标,索引,元素可以重复,也可以储存多个null

  • List接口中特有的方法:

    • add(index,E e):将元素添加到指定的索引位置;
    • get(int index);通过下标取出元素;
    • indexOf(Object o);返回此列表中第一次出现o元素是索引,如果没有,返回-1;
    • remove(int index);移除指定下标位置的元素
    • set(int index,E e);使用e去替换index下标中的元素,修改index下标中的元素
    • 可以通过普通的for循环进行遍历

1. ArrayList集合

  1. 在这里插入代码片特点:底层实现是数组,查找修改比较块,增加删除比较慢
  2. 特殊的方法:与List接口中的方法一致。

2. LinkedList集合

  1. 特点:底层实现是链表,查找,修改比较慢,增加删除比较快,链表结构,LinkedList里面增加了许多对集合首尾元素的操作方法,并且在LinkedList中实现了队列(Queue)的接口。
  2. 特殊的方法:
    . *addFirst(E e);将e元素添加到集合的首尾
    * addLast(E e);将e元素添加到集合的末尾
    * removeFirst(); 移除集合中首尾元素
    *removeLast();移除集合中的最后一位元素
    * getFirst();用来获取首尾元素
    * getLast();用来获取最后一位元素
  3. 队列接口中的方法:
    ** offer(E e);将元素添加到队列的末尾
    ** peek();获取集合中的第一个元素
    ** poll();获取并移除首位元素
public class LinkedListTest {
	public static void main(String[] args) {
		LinkedList<String> list = new LinkedList<String>();
		// addFirst()  addLast() 方法?
		list.add("王五");
		list.add("赵六");
		// 将李四 添加到集合的首位,将王八添加到集合的末尾
		list.addFirst("李四");
		list.addLast("王八");
		System.out.println(list);
		// 移除首尾,和最后一位
		//list.removeFirst();
		//list.removeLast();
		//System.out.println(list);
		// 获取首尾/最后一位
		String first = list.getFirst();
		String last = list.getLast();
		System.out.println(first + "==" + last);
		System.out.println("-------------------");
		System.out.println(list);
		list.offer("啤酒");
		System.out.println(list);
		/*String peek = list.peek();
		System.out.println(peek);*/
		String poll = list.poll();
		System.out.println(poll);
		System.out.println(list);
		
	}
}  	

3.Vector

  1. 特点:是线程安全的,底层使用数组实现,基本上被ArrayList取代,方法与ArrayList一样
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值