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. Linux 常用命令 | top 详解

    top 命令实时显示进程的状态.(自己也会占用资源,类似window的任务管理器),由以下几部分组成 默认状态显示的是cpu密集型的进程,并且每5秒钟更新一次. (1) 系统状态 当前时间.系统已运行 ...

  2. html5自动弹出软键盘的方法

    html5自动弹出软键盘的方法<pre> <textarea placeholder="说点什么......" autofocus="autofocus ...

  3. MySQL原生PHP操作-天龙八步

    <?php //1.第一步[建立连接] $conn = mysqli_connect('localhost','root','123456') or die('数据库连接失败!'); //2.第 ...

  4. Elasticsearch生产环境遇到的问题以及解决方案

    Elasticsearch是一个开源的分布式实时搜索与分析引擎,支持云服务.它是基于Apache Lucene搜索引擎的类库创建的,提供了全文搜索能力.多语言支持.专门的查询语言.支持地理位置服务.基 ...

  5. W与V模型的联系与区别

      很多小白一定要注意:        看准那个是开发的工作哪个是测试的工作,不要弄混了!!!   软件测试的V模型 以“编码”为黄金分割线,将整个过程分为开发和测试,并且开发和测试之间是串行的关系 ...

  6. 易语言 史诗级Json处理 烁_Json模块!!!!

    大家好,我是键盘上的魔手 * “************************”* “** 欢迎使用烁Json模块 **”* “** 作者:键盘上的魔手 **”* “**  微信号:codervip ...

  7. Linux运维利器之ClusterShell

    一.简介 实验室机房有大概百台的服务器需要管理,加上需要搭建Hadoop以及Spark集群等,因此,一个轻量级的集群管理软件就显得非常有必要了.经过一段时间的了解以及尝试,最终选择了clustersh ...

  8. PowerMock学习(四)之Mock static的使用

    我们编写代码的时候,总会写一些工具类,为了方便调用喜欢使用static关键字来修饰对应方法. 那么现在举例说明,还是准备两个接口,第一个是查询学生总数,第二个是新增学生两个接口,具体示例代码如下: p ...

  9. PHP与Python进行数据交互

    最近,决定在一个项目用tp5进行APP接口开发,用Python做数据分析,然后这就面临一个问题:PHP和Python如何进行数据交互? 思路 我解决此问题的方法是利用了PHP的passthru函数来调 ...

  10. 胜利点组——“萌猿填词”微信小程序评价

    此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9860 1.根据(不限于)NABCD评论作品的选题; (1).你的创意解决了 ...