java基础常见问题解析(三)ArrayList和LinkedList

ArrayList和LinkedList的使用以及扩展

ArrayList :以数组的形式存储
LinkedList:以链表的形式存储

例题

  1. 关于ArrayList 的描述中, 错误的是
    a. 存储密度比LinkedList 大
    b. 不限制大小和类型
    c. 节点中只有自身信息域, 没有链信息域
    d. 便于进行插入、删除等运算操作
public class ListDemo {
    public static void main(String[] args) {
        List<String> arrList = new ArrayList<String>();//使用泛型  默认大小10 内存中顺序存储  可以自动扩张 -存储的对象的引用  适合查询 比较方便
        List<String> linList = new LinkedList<String>();//前后指针 无初始大小 内存中分散存储  除了存储数据item本身 还存储前指针per和后指针next 类似双链表  便于进行插入和删除元素(修改前指针和后指针) 查询需要找指针  
        arrList.add("A");
        arrList.add("B");
        arrList.add("C");

        linList.add("A");
        linList.add("B");
        linList.add("C");
        System.out.println("------------END-------------");
    }
}

这里写图片描述

  • Set、List、Map对比
    Set Map都提供了有序(Tree**)、无序的方式
    List –有序
    这里写图片描述

List –有序存储 (ArrayList 和Linked)
Set –无序存储 杂乱无章
Map –key-value键值对存储

HashSet–无序的
TreeSet–有序的 存储对象不能重复 而List可以重复

HashMap –无序,不可以存储重复的key值
TreeMap –有序的 key-value格式的数据有顺序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值