List接口的三大常用类

List接口的三大常用类

文章目录

ArrayList(重点)
Vector
LinkedList(理解)
List接口中常用方法和例子
遍历集合
Vector

ArrayList

ArrayList 是 List 接口的典型实现类、主要实现类本质上,ArrayList是对象引用的一个”变长”数组。

概述

.
ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。
.
ArrayList 继承了 AbstractList ,AbstractList 是List 接口的子类。AbstractList 是个抽象类,适配器设计模式。
.
ArrayList 是List 接口的子类,此类的定义如下:

public class ArrayList<E> extends AbstractList<E>
 implements List<E>, RandomAccess, Cloneable, Serializable

Jdk 1.8 和 1.7
ArrayList的JDK1.8之前与之后的实现区别?
JDK1.7:ArrayList像饿汉式,直接创建一个初始容量为10的数组。
JDK1.8:ArrayList像懒汉式,一开始创建一个长度为0的数组,当第一次添加第一个元素时再创建一个始容量为10的数组,如果添加一组元素且元素数量很大则创建一个刚好够存的容量大小

List接口中常用方法和例子
/**
* ArrayList 有序 由下标 元素可重复
* LinkedLst 删除和插入数据数据快
*/

List list = new ArrayList();

//增

/**.add() 添加数据*/
		list.add("张三");
		list.add(10);
		list.add(3.14);
		list.add('男');
		list.add('女');
		list.add(11);
		list.add(12);

//删

/**list.remove(index) 根据下移除数据*/
		list.remove(5);
	    boolean b =	list.remove(3.14);
	    System.out.println(b);
	    /**list.remove(Object) 删除括号里面的数据*/

//改

/**set.(index ,值) 在指定位置插入指定数据*/
		list.set(1, "李四");

//查

/**.size() 获取集合长度  */
		int length = list.size();
		for(int i =0; i<length; i++) {
		/**.get(index)  根据下标获取数据*/
		Object Obj = list.get(i);
		 System.out.println(Obj+" ");
		  System.out.println("--------第二种---forEach----");
		/**
		 * 增强版的for循环 ----foreach
		 * 语法 for(数据类型   对象名:集合名字){}
		 * 作用 把集合中的每一个数据都赋值该前面的数据对象
		 * ---Object Obj = list.get(i);
		 */
		 for(Object obj:list) {
			 System.out.println(obj+" ");
		 }

迭代器循环

	 /**.iterator() 获取一个迭代器*/
		 java.util.Iterator iterator = list.iterator();
		 /**hasNext() 判断下一个还没有值.有数据继续循环.没有数据停止循环*/
		 while(iterator.hasNext()) {
			 /**iterator.next() 获取下一个值*/
		Object	obj= iterator.next(); 
		System.out.println(obj+" ");
	}
	

遍历集合
•迭代器遍历(两种)
• •iterator
•listIterator
•for循环遍历(两种)
• •for (int i = 0; i < 集合.length; i++)
•for(Object o : 集合)

Vector
Vector概述
Vector 属于Java 元老级的操作类,是最早的提供了动态对象数组的操作类,在JDK 1.0 的时候就已经推出了此类的使用,只是后来在JDK 1.2 之后引入了Java 类集合框架。但是为了照顾很多已经习惯于使用Vector 的用户,所以在JDK 1.2 之后将Vector 类进行了升级了,让其多实现了一个List 接口,这样才将这个类继续保留了下来。

import java.util.List;
import java.util.Vector;
public class VectorDemo01 {
    public static void main(String[] args) {
        List<String> all = new Vector<String>(); // 实例化List对象,并指定泛型类型
        all.add("hello "); // 增加内容,此方法从Collection接口继承而来
        all.add(0, "LAMP ");// 增加内容,此方法是List接口单独定义的
        all.add("world"); // 增加内容,此方法从Collection接口继承而来
        all.remove(1); // 根据索引删除内容,此方法是List接口单独定义的
        all.remove("world");// 删除指定的对象
        System.out.print("集合中的内容是:");
        for (int x = 0; x < all.size(); x++) { // size()方法从Collection接口继承而来
            System.out.print(all.get(x) + "、"); // 此方法是List接口单独定义的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值