List接口ArrayList用法详解

ArrayList常用方法:

1. List.add():添加的方法(可以添加字符串,常量,以及对象)

		List list=new ArrayList();
list.add("北京尚学堂");
list.add(2016110747);
list.add("学习Java");

2. List.size():看数组的长度

System.out.println("\nlist的长度:"+list.size());

4. List.isEmpty():查看数组是否为空

System.out.println("\n数组是否为空?"+list.isEmpty());

5. List.addAll():将一个数组添加到另一个数组中

		List list2=new ArrayList();
list2.add("学习ArrayList");
list2.add("北京尚学堂");
list2.add(2016110747);
list.addAll(list2);
System.out.println("\n俩个集合相加之后的集合元素:"+list);

6. List.remove():根据对象去删除。(删除集合中的第一个对象)

		list.remove("北京尚学堂");
System.out.println("\n移除一个指定对象元素之后的元素集合:"+list+"\n移除一个指定对象元素之后的元素集合长度:"+list.size());

7. List.remove(new integer()):根据索引去删除

		list.remove(3);
System.out.println("\n移除一个指定索引元素之后的元素集合:"+list);

8. List.removeAll():删除相同的元素

		list.removeAll(list2);



9. List.retainAll():删除不同的元素

		System.out.println("\n"+list);
System.out.println("\n"+list2);
list.retainAll(list2);
System.out.println("\n移除俩个集合不同元素之后的元素集合:"+list);

10. List.constains():查看指定对象是否存在(存在返回true,不存在返回false)

		System.out.println("\n判断指定元素是否属于集合:"+list.contains(2016110747));

10.List.containsAll():list中是否包含对象的全部元素(包含返回true,不包含返回false)

		System.out.println("\n"+list);
System.out.println("\n"+list2);
System.out.println("\n判断指定集合(list2)内的所有元素是否属于list集合:"+list.containsAll(list2));

第一种方式:加强for循环

System.out.println("**********加强for循环来遍历集合中的元素**************\n");
for (Object obj : list) {
System.out.print(obj+"\t");
}

第二种方式:普通for循环

System.out.println("\n**********for循环遍历集合中的元素**************\n");
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i)+"\t");
}

第三种方式:使用ListIterator()遍历元素集合

		System.out.println("\n**********迭代器遍历集合中的元素**************\n");
java.util.Iterator ite=list.iterator();//正向遍历
while (ite.hasNext()) {
Object obj = (Object) ite.next();
System.out.print(obj+"\t"); } System.out.println("\n***********使用ListIterator()遍历元素集合*********\n");
ListIterator listIterator=list.listIterator();
System.out.println("正向遍历:");
System.out.println("\n到达末尾,后面还有元素吗?"+listIterator.hasNext());
System.out.println("到达末尾,前面还有元素吗?"+listIterator.hasPrevious());
while (listIterator.hasNext()) {
System.out.println(listIterator.next()+"\t");
}
System.out.println("\n到达末尾,后面还有元素吗?"+listIterator.hasNext());
System.out.println("到达末尾,前面还有元素吗?"+listIterator.hasPrevious());
while (listIterator.hasPrevious()) {
System.out.println(listIterator.previous()); }



说明:在这里当我发现list集合的第一个和第三个数据一样时,我用了list.set()去修改了第一个数据。顺便分享一下list.set()方法:

list.set(0, "学习Java苦中作乐");

list.set(index, element)//index:是索引;element:是修改后的数据。因为集合是0序的,所以索引从0开始。

Java修炼——ArrayList常用的方法以及三种方式遍历集合元素。的更多相关文章

  1. uni-app&H5&Android混合开发三 || uni-app调用Android原生方法的三种方式

    前言: 关于H5的调用Android原生方法的方式有很多,在该片文章中我主要简单介绍三种与Android原生方法交互的方式. 一.H5+方法调用android原生方法 H5+ Android开发规范官 ...

  2. js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式

    js replace 全局替换   js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换. <scrip ...

  3. java核心知识点----创建线程的第三种方式 Callable 和 Future CompletionService

    前面已经指出通过实现Runnable时,Thread类的作用就是将run()方法包装成线程执行体,那么是否可以直接把任意方法都包装成线程执行体呢?Java目前不行,但其模仿者C#中是可以的. Call ...

  4. 0036 Java学习笔记-多线程-创建线程的三种方式

    创建线程 创建线程的三种方式: 继承java.lang.Thread 实现java.lang.Runnable接口 实现java.util.concurrent.Callable接口 所有的线程对象都 ...

  5. Java反射机制(创建Class对象的三种方式)

    1:SUN提供的反射机制的类: java.lang.Class<T> java.lang.reflect.Constructor<T> java.lang.reflect.Fi ...

  6. Java反射02 : Class对象获取的三种方式和通过反射实例化对象的两种方式

    1.Class对象获取的三种方式 本文转载自:https://blog.csdn.net/hanchao5272/article/details/79361463 上一章节已经说过,一般情况下,Jav ...

  7. java webservice服务器端获取request对象的三种方式

    有的时候在webservice里我们需要获取request对象和response对象,比如想要获得客户端的访问ip的时候就需要这么做,下面说三种方式,当然三种方式可能是针对不同方式部署webservi ...

  8. js学习-DOM之动态创建元素的三种方式、插入元素、onkeydown与onkeyup两个事件整理

    动态创建元素的三种方式: 第一种: Document.write(); <body> <input type="button" id="btn" ...

  9. Java项目开发中实现分页的三种方式一篇包会

    前言   Java项目开发中经常要用到分页功能,现在普遍使用SpringBoot进行快速开发,而数据层主要整合SpringDataJPA和MyBatis两种框架,这两种框架都提供了相应的分页工具,使用 ...

随机推荐

  1. mjpg-stream 视频服务 (1)| 简介与配置树莓派使用

    源码地址为:https://github.com/jacksonliam/mjpg-streamer Mjpg简介: (1)mjpg-streamer是一个命令行应用程序,它将JPEG帧从一个或多个输 ...

  2. java 打包web 项目

    1 选择你的web项目 2 右击,选择export 3 选择web下的war file 4 将打包好war包,保存在tomcat的webapps下 5 运行tomcat,tomcat会自动帮你解压这个 ...

  3. 删除Linux的依赖库并进入救援模式恢复

    删除Linux的依赖库并进入救援模式恢复 模拟一下依赖库文件被删,并进入救援模式恢复 系统:CentOS7 一.删除mv的依赖库文件 删除/lib64/libc.so.6 [root@centos7 ...

  4. getClass()和instanceof以及类的equals方法

    在比较两个类时,常见有两种做法,一种是x.getClass() == y; 一种是x instanceof y,下面我们来比较这两种做法的区别. getClass()返回一个对象所属的类 public ...

  5. F#周报2019年第46期

    新闻 使用Pulumi和.NET Core创建现代云应用 宣告.NET Core 3.1预览版3 ML.NET模型构建器升级 .NET Framework修复工具 Mac上的Visual Studio ...

  6. [LC]111题 二叉树的最小深度 (递归)

    ①题目 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,15 ...

  7. suseoj 1210: 会场安排问题 (贪心)

    1210: 会场安排问题 时间限制: 1 Sec  内存限制: 128 MB提交: 1  解决: 1[提交][状态][讨论版][命题人:liyuansong] 题目描述 假设要在足够多的会场里安排一批 ...

  8. opencv 2 Opencv数据结构与基本绘图

    基础图像容器Mat Mat 是一个类,又两个数据部分组成:矩阵头(包含矩阵尺寸,存储方法,存储地址等信息)和一个指向存储所有像素值的矩阵(根据所选存储方法不同,矩阵可以是不同的维数)的指针.矩阵头的尺 ...

  9. PostGIS 安装教程(Linux)(一)

    ##本文分两部分,第一部分讲linux下postgresql的安装,第二部分讲postgis的安装 ##感谢作者:https://www.linuxidc.com/Linux/2017-10/1475 ...

  10. 2019-11-4:渗透测试,bypass学习,笔记

    编码方式过wafurl编码,针对特殊情况可以两次URL编码十六进制编码,针对某些数据,如特殊字符,特殊字符串等unicode编码,使用两个字节编码一个字符,高位不足使用0填充单引号:%u0027.%u ...