【Java基础】集合(2) —— List

【Java基础】集合(1) —— Collection
【Java基础】集合(2) —— List
【Java基础】集合(3) —— Set
【Java基础】集合(4) —— 泛型
【Java基础】集合(5) —— Map
【Java基础】集合(6) —— Collections

List

存储的对象是有序的(集合中存储对象的顺序和使用add方法添加对象的顺序一致),存储的对象是可重复的

List的特有的功能: 都是可以操作索引的功能。

  1. 增:

    • void add(int index, E element )
    • boolean addAll(int index, Collection<? extends E> c)
    col.add("java");
    col.add(1,"hello");
    col.addAll(2,col2);
    
    • E remove(int index)
      返回被删除的对象
    Object obj = col.remove(3);
    
    • E set(int index, E element)
      修改指定索引上的元素
     col.set(2,"bigdata");
    
    • E get(int index)
      得到指定位置上的元素
    • ListIterator listIterator()
      返回此列表元素的列表迭代器(按适当顺序)。
    • ListIterator listIterator(int index)
      从指定元素开始迭代
    • List subList(int fromIndex, int toIndex)
      返回子List,不包括结束位置上的元素
    • int indexOf(E element)
      获取元素的索引
    • int lastIndex0f(E element)
      获取元素的最后一次出现的索引
    • **void replaceAll(UnaryOperator operator) R apply(T t) **
      替换功能
    col.replaceAll(t->((String)t).concat("hehe"));
    
    • void sort (Comparator comparator) int compare(T o1, T o2)
      排序功能
    col.sort((o1,o2)->((String)o2).length()-((String)o1).length());
    
ArrayList
  • 后缀:List,说明存储的数据有序,可重复
  • 前缀:Array,说明该集合在存储数据时底层数据结构是数组
    数组的特点是便于查找,不便于添加和删除
Vector
  • 线程安全的实现
  • 该集合在存储数据时,底层数据结构是数组
遍历

Enumeration elements()
hasMoreElements() nextElement()

Vector v=new Vector();
v.add("java01");
v.add("java02");
Enumeration en = v.elements();
while(en.hasMoreElements()){
	Object obj = en.nextElement();
	System.out.println(obj);
}		
LinkedList
  • 后缀:List,说明存储的数据有序,可重复

  • 前缀:Linked,说明该集合在存储数据时,底层数据结构是链表

    ​ 链表的特点是便于添加和删除,不便于查找

    单向链表:

    在这里插入图片描述

    双向链表:

    在这里插入图片描述

方法
  • addFirst() addLast()
    getFirst() getLast()
    removeFirst() removeLast()

  • jdk1.6以后
    offerFirst() offerLast()
    peekFirst() peekLast()
    pollFirst() pollLast()

public static void main(String[] args) {
	LinkedList list=new LinkedList();
	list.addFirst("001");
	list.addFirst("002");
	list.addFirst("003");
	while(!list.isEmpty())//删除所有节点
		 System.out.println(list.removeFirst());
//System.out.println(list.getFirst());//NoSuchElementException
	//System.out.println(list.peekFirst()); //null  不会异常
    //System.out.println(list.removeFirst());// 异常
	System.out.println(list.pollFirst());//null  不会异常
}

img

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java全能学习面试手册——Java面试题库.zip 01 7道消息队列ActiveMQ面试题!.pdf 02 10道Java高级必备的Netty面试题!.pdf 03 10道Java面试必备的设计模式面试题!.pdf 04 10个Java经典的List面试题!.pdf 05 10个Java经典的Main方法面试题!.pdf 06 10个Java经典的String面试题!.pdf 07 15道经典的Tomcat面试题!.pdf 08 15道面试常问的Java多线程面试题!.pdf 09 17道消息队列Kafka面试题!.pdf 10 18道非常牛逼的Nginx面试题!.pdf 11 20道顶尖的Spring Boot面试题!.pdf 12 20道面试官常问的JVM面试题!.pdf 13 22道面试常问的SpringMVC面试题!.pdf 14 24道经典的英语面试题!.pdf 15 24道消息队列RabbitMQ面试题!.pdf 16 27道顶尖的Java多线程、锁、内存模型面试题!.pdf 17 29道常见的Spring面试题!.pdf 18 30个Java经典的集合面试题!.pdf 19 36道面试常问的MyBatis面试题!.pdf 20 40道常问的Java多线程面试题!.pdf 21 55道BAT精选的Mysql面试题!.pdf 22 60道必备的Java核心技术面试题!.pdf 23 70道阿里巴巴高级Java面试题!.pdf 24 ActiveMQ消息中间件面试专题.pdf 25 Dubbo服务框架面试题及答案.pdf 26 Dubbo面试.pdf 27 Dubbo面试题.pdf 28 Dubbo面试专题.pdf 29 Java 面试题经典 77 问!.pdf 30 Java架构课程MCA大纲.pdf 31 Java就业班体系结构大纲.pdf 32 java面试题_多线程(68题).pdf 33 java面试题_设计模式(26题).pdf 34 java面试题_微服务--dubbo(41题).pdf 35 java面试题_消息中间件--RabbitMQ(20题).pdf 36 java面试题_消息中间件--RocketMq(14题).pdf 37 JVM.pdf 38 JVM常见面试题指南.pdf 39 JVM面试题.pdf 40 JVM面试专题.pdf 41 JVM性能优化相关问题.pdf 42 JVM执行子系统.pdf 43 Kafka面试题.pdf 44 Linux面试题.pdf 45 Linux面试专题.pdf 46 MongoDB面试题.pdf 47 MongoDB面试专题.pdf 48 Mybatis面试题(含答案)_.pdf 49 MyBatis面试题.pdf 50 MyBatis面试专题.pdf 51 MySQL55题答案.pdf 52 MySQL面试题(含答案)_.pdf 53 mysql面试题.pdf 54 mysql面试专题.pdf 55 MySQL性能优化的21个最佳实践.pdf 56 Netty面试题.pdf 57 Netty面试专题.pdf 58 Nginx面试题.pdf 59 Nginx面试专题.pdf 60 Nginx实战书籍.pdf 61 RabbitMQ消息中间件面试专题.pdf 62 Redis面试题(二).pdf 63 Redis面试题(含答案)_.pdf 64 Redis面试题.pdf 65 Redis面试专题(二).pdf 66 Redis面试专题.pdf 67 Redis实战.pdf 68 SpringBoot面试专题.pdf 69 SpringCloud面试专题.pdf 70 SpringMVC面试专题.pdf 71 Spring面试题(含答案)_.pdf 72 Spring面试专题及答案.pdf 73 Spring源码深度解析.pdf 74 Tomcat架构解析文档.pdf 75 Tomcat架构解析文档.pdf.baiduyun.downloading 76 Tomcat面试专题.pdf 77 Tomcat优化相关问题.pdf 78 Zookeeper+分布式过程.pdf 79 zookeeper面试专题.pdf 80 并发编程面试专题.pdf 81 并发面试题.pdf 82 多线程,高并发.pdf 83 多线程面试59题(含答案)_.pdf 84 分布式缓存 Redis + Memcached 经典面试题!.pdf 85 搞定 HR 面试的 40 个必备问题!.pdf 86 集合框架.pdf 87 精选7道Elastic Search面试题!.pdf 88 精选8道Dubbo面试题!.pdf 89 精选17道海量数量处理面试题!.pdf 90 看透Spring

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值