List接口概述

有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。

与 set 不同,列表通常允许重复的元素。

特点

    有序(存储和取出的元素一致),可重复的。

package cn.itcast_01;import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;public class ListDemo2 {public static void main(String[] args) {// 创建集合对象List list = new ArrayList();// 存储元素list.add("hello");list.add("world");list.add("java");list.add("javaee");list.add("android");list.add("javaee");list.add("android");// 遍历集合Iterator it = list.iterator();while (it.hasNext()) {String s = (String) it.next();System.out.println(s);}}
}

特有功能

package cn.itcast_03;import java.util.ArrayList;
import java.util.List;/** List集合的特有功能:* A:添加功能*      void add(int index,Object element):在指定位置添加元素* B:获取功能*       Object get(int index):获取指定位置的元素* C:列表迭代器*       ListIterator listIterator():List集合特有的迭代器* D:删除功能*        Object remove(int index):根据索引删除元素,返回被删除的元素* E:修改功能*      Object set(int index,Object element):根据索引修改元素,返回被修饰的元素*/
public class ListDemo {public static void main(String[] args) {// 创建集合对象List list = new ArrayList();// 添加元素list.add("hello");list.add("world");list.add("java");// void add(int index,Object element):在指定位置添加元素// list.add(1, "android");//没有问题// IndexOutOfBoundsException// list.add(11, "javaee");//有问题,下标越界// list.add(3, "javaee"); //没有问题// list.add(4, "javaee"); //有问题,下角越界// Object get(int index):获取指定位置的元素// System.out.println("get:" + list.get(1));// IndexOutOfBoundsException// System.out.println("get:" + list.get(11));// Object remove(int index):根据索引删除元素,返回被删除的元素// System.out.println("remove:" + list.remove(1));// IndexOutOfBoundsException// System.out.println("remove:" + list.remove(11));// Object set(int index,Object element):根据索引修改元素,返回被修饰的元素System.out.println("set:" + list.set(1, "javaee"));System.out.println("list:" + list);}
}

List集合的特有遍历功能:size()和get()方法结合使用

package cn.itcast_03;import java.util.ArrayList;
import java.util.List;public class ListDemo2 {public static void main(String[] args) {// 创建集合对象List list = new ArrayList();// 添加元素list.add("hello");list.add("world");list.add("java");// Object get(int index):获取指定位置的元素// System.out.println(list.get(0));// System.out.println(list.get(1));// System.out.println(list.get(2));// IndexOutOfBoundsException// System.out.println(list.get(3));// 用循环改进// for (int x = 0; x < 3; x++) {// System.out.println(list.get(x));// }// 如果元素过多,数起来就比较麻烦,所以我们使用集合的一个长度功能:size()// 最终的遍历方式就是:size()和get()for (int x = 0; x < list.size(); x++) {// System.out.println(list.get(x));String s = (String) list.get(x);System.out.println(s);}}
}

特有迭代器ListIterator

package cn.itcast_04;import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;/** 列表迭代器:*        ListIterator listIterator():List集合特有的迭代器*        该迭代器继承了Iterator迭代器,所以,就可以直接使用hasNext()和next()方法。* * 特有功能:*         Object previous():获取上一个元素*      boolean hasPrevious():判断是否有元素* *        注意:ListIterator可以实现逆向遍历,但是必须先正向遍历,才能逆向遍历,所以一般无意义,不使用。*/
public class ListIteratorDemo {public static void main(String[] args) {// 创建List集合对象List list = new ArrayList();list.add("hello");list.add("world");list.add("java");// ListIterator listIterator()ListIterator lit = list.listIterator(); // 子类对象// while (lit.hasNext()) {// String s = (String) lit.next();// System.out.println(s);// }// System.out.println("-----------------");// System.out.println(lit.previous());// System.out.println(lit.previous());// System.out.println(lit.previous());// NoSuchElementException// System.out.println(lit.previous());while (lit.hasPrevious()) {String s = (String) lit.previous();System.out.println(s);}System.out.println("-----------------");// 迭代器Iterator it = list.iterator();while (it.hasNext()) {String s = (String) it.next();System.out.println(s);}System.out.println("-----------------");}
}

集合框架-List接口相关推荐

  1. java集合框架的接口_Java集合框架——Set接口

    第三阶段 JAVA常见对象的学习 集合框架--Set接口 List集合的特点是有序的,可重复的,是不是存在这一种无序,且能保证元素唯一的集合呢?(HashSet )这就涉及到我们今天所要讲的Set集合 ...

  2. Java集合框架——List接口

    第三阶段 JAVA常见对象的学习 集合框架--List接口 image 按照集合框架的继承体系,我们先从Collection中的List接口开始学习 (一) 概述及功能(ArrayList演示) (1 ...

  3. c++ map iterator 获取key_Java集合框架——Map接口

    第三阶段 JAVA常见对象的学习 集合框架--Map集合 在实际需求中,我们常常会遇到这样的问题,在诸多的数据中,通过其编号来寻找某一些信息,从而进行查看或者修改,例如通过学号查询学生信息.今天我们所 ...

  4. Java集合框架之接口Collection源码分析

    本文我们主要学习Java集合框架的根接口Collection,通过本文我们可以进一步了解Collection的属性及提供的方法.在介绍Collection接口之前我们不得不先学习一下Iterable, ...

  5. java集合框架的接口_Java集合框架之Collection接口详解

    Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架.Java集合工具包位于Java.util包下 ...

  6. Java.集合 框架,接口,常用集合特点比对

    框架 接口 Iterable 可迭代接口 获取迭代器方法(Iterator<T> iterator();),使用该方法进行遍历. 迭代器实现Iterator接口. boolean hasN ...

  7. D - JDK17源码阅读 - 集合框架 - Collection<E> 接口 - 集合框架核心接口

    提前 关于抽象的描述并不完全代表具体的实现,但是具体实现不会脱离抽象描述 关于这个接口,官方给的描述太多太多,不用看的太仔细,随意看看就好 集合层次结构中的根接口. 一个集合代表一组对象,称为它的元素 ...

  8. java 集合接口原理_图文剖析java集合框架—Set接口

    Map接口图补充待续 继上一节讲解了List接口的常用实现类以及源码的一些分析,这节将讲解集合中的Set接口. HashSet: 底层原理:哈希表结构存储.对集合的迭代次序不作任何保证; 允许元素nu ...

  9. Java集合框架概述及Collection接口方法讲解

    Java集合框架概述 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象 的操作,就要对对象进行存储.另一方面,使用Array存储对象方面具有一些弊 端,而Java 集合就像一种容 ...

最新文章

  1. Future获取线程返回值能使线程顺序执行?
  2. URL中的hash(井号)
  3. 对没有标记为安全的activex控件进行初始化和脚本运行_新的C++安全编码规则出炉...
  4. 深入理解多线程(五)—— Java虚拟机的锁优化技术
  5. matlab文件读写监听,matlab对文件的读写
  6. 1、leetcode704 二分查找*
  7. PHP通过__call实现简单的AOP(主事务后的其他操作)比如前置通知,后置通知
  8. ubuntu18.04新安装时Unable to locate package问题
  9. shell 查看Linux 进程 是否存在
  10. kail linux暴力破解wifi
  11. 论文查重颜色分别代表什么含义?
  12. Word2010经常莫名其妙无法撤销
  13. 微信小程序实现扫一扫功能
  14. 大学英语六级翻译分类高频词汇
  15. maven LTDM 部署前台Tomcat 各种折腾---自己总结经验
  16. 坚持并活下去!cxuan 在 CSDN 的 2020 年终总结。
  17. FCat用户权限管理项目——angular4、springcloud
  18. 【转载】SoapUI接口测试
  19. 程序员高薪“盛宴”背后:人才结构性过剩和缺失共存
  20. Ubuntu 上VS Code更新后 Remote-SSH 无法连接服务器:failed to install the vs code server!

热门文章

  1. Sadness could be a leader ——《头脑特工队》
  2. R语言 : 层次聚类分析
  3. Flash CS5中文帮助文档CHM版
  4. kaggle比赛:Classify Leaves(使用resnet50预训练模型进行:图片树叶分类)
  5. 强化学习--Prioritised Replay DQN
  6. 消防设备电源监控系统在城市建筑中的应用
  7. 牛商网携手九州云,构建新型互联网业务平台
  8. TARS-PHP:PHP构建高性能RPC框架
  9. Minecraft Story Mode Season 2 for mac(我的世界故事模式第二季)激活版
  10. LINUX These critical programs are missing or too old: make compiler