java -- List类

List
  List接口通常表示一个列表,可随机访问包含的元素,元素是有序的,可在任意位置增、删元素,不管访问多少次,元素位置不变,允许重复元素。

List特有的方法:

/**
 * 删除指定的元素
 */
public static void fun4() {
    List l1 = new ArrayList();
    l1.add("a");
    l1.add("b");
    l1.add("c");
    l1.add("d");
    l1.remove(3);
    System.out.println(l1);
}
/**
 * 获取指定索引下的元素,  同样不能越界
 */
public static void fun3() {
    List l1 = new ArrayList();
    l1.add("a");
    l1.add("b");
    l1.add("c");
    l1.add("d");
    Object object = l1.get(3);
    System.out.println(object);
}
/**
 * 指定索引替换元素,  不能超出集合长度的索引
 */
public static void fun2() {
    List l1 = new ArrayList();
    l1.add("a");
    l1.add("b");
    l1.add("c");
    l1.add("d");
    l1.set(3, "ww");
    System.out.println(l1);
}
/**
 * 指定索引添加元素,  不能越界
 */
private static void fun1() {
    List l1 = new ArrayList();
    l1.add("a");
    l1.add("b");
    l1.add("c");
    l1.add("d");
    //  向指定索引添加元素
    //  不能越界
    l1.add(4, "w");
    System.out.println(l1);

}
  • 数组实现
  • 特点:查询快 增删慢
  • 查询: 依赖下表查询
  • 增删: 增加时:把要插入位置后面所有元素, 先后移动一位
  • 删除时: 向前移动一位
  • 数组在创建的时候, 默认10个位置, 要存11个元素, 在创建新数组, 长度是原来的1.5倍

    这里写图片描述

  • 链表实现

  • 特点:查询慢 增删快
  • 1.链表中的元素, 保存了上一个元素和下一个元素的地址, 通过这个地址可以找到上一个元素 和下一个元素
  • 2.在进行查找的时候, 先判断初 要查找的元素 是距离头近还是尾近
  • 3.例如头近, 就从头位置一个一个向下查找(通过保存的地址)
  • 4.增删时:直接找到插入的位置 重新保存下 上一个元素和下一个元素的地址 就可以, 后面的元素地址都不进行移动

    这里写图片描述

LinkedList特有的方法

    /**
     * 获取开头结尾元素或 指定下标元素
     */
    public static void fun7() {
        LinkedList l1 = new LinkedList();
        l1.add("a");
        l1.add("b");
        l1.add("c");
        System.out.println(l1.getFirst());
        System.out.println(l1.getLast());
        System.out.println(l1.get(1));
    }
    /**
     * 从开开头结尾添加元素
     */
    public static void fun6() {
        LinkedList l1 = new LinkedList();
        l1.add("a");
        l1.add("b");
        l1.add("c");
        l1.addFirst("d");
        l1.addLast("e");
    }

vector特有的方法(vector在jdk1.0出现 不常使用)

/**
 * vector特有的枚举遍历
 */
public static void fun5() {
    Vector v1 = new Vector();
    v1.add("a");
    v1.add("b");
    v1.add("c");
    v1.add("d");
    Enumeration e1 = v1.elements();
    while (e1.hasMoreElements()) {
        System.out.println(e1.nextElement());
    }
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值