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. css3-3D特效

    2D页面即是在浏览器中开发的页面, 3D可以比喻浏览器为窗口,透过浏览器看到3D物体 一.设置3D场景 perspective:800[3D世界中的物体距3D场景的距离800px] perspecti ...

  2. NuGet Package Explorer使用教程下载

    1.下载NuGet Package Explorer http://www.pc0359.cn/downinfo/91514.html 2.双击NuGet Package Explorer出现启动界面 ...

  3. javascript iframe跳转问题

    javascript iframe跳转问题如果在iframe里面有要点击跳转最外层的连接 要只能用<pre> <div onclick="parent.location.h ...

  4. pxe批量部署

    功能: 批量全自动安装操作系统方法: dhcp 自动分配IP tftp 微系统 用来安装系统 httpd 网络源 操作流程: #检查环境 getenforce #检查selinux systemctl ...

  5. Linux中SSH服务基于key认证实践

    众所周知ssh是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,它默认工作在tcp的22号端口,具体实现的软件有:openssh(centos默认安装的),dropbear.ssh协议目前 ...

  6. 如何构建自己的 react hooks

    我们组的前端妹子在组内分享时谈到了 react 的钩子,趁此机会我也对我所理解的内容进行下总结,方便更多的同学了解.在 React 的 v16.8.0 版本里添加了 hooks 的这种新的 API,我 ...

  7. 设计模式(Java语言)- 简单工厂模式

    简单工厂模式有称为静态工厂模式,属于设计模式中的创建型模式.简单工厂模式通过对外提供一个静态方法来统一为类创建实例.简单工厂模式的目的是实现类与类之间解耦,其次是客户端不需要知道这个对象是如何被穿创建 ...

  8. 宋宝华:Linux设备驱动框架里的设计模式之——模板方法(Template Method)

    本文系转载,著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作者: 宋宝华 来源: 微信公众号linux阅码场(id: linuxdev) 前言 <设计模式>这本经典 ...

  9. nyoj 17-单调递增最长子序列 && poj 2533(动态规划,演算法)

    17-单调递增最长子序列 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:21 submit:49 题目描述: 求一个字符串的最长递增子序列的长度 如 ...

  10. ubuntu18 拨号连接宽带网络方法

    1.打开终端查看以太网网卡编号 2.打开/usr/share/applications/ 3.点击network connections 4.点击左下角的+号 5.连接类型选择DSL/PPPoE 6. ...