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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. Spring管理的bean初始化方法的三种方式,以及@PostConstruct不起作用的原因

    1:Spring 容器中的 Bean 是有生命周期的,spring 允许 Bean 在初始化完成后以及销毁前执行特定的操作.下面是常用的三种指定特定操作的方法: 通过实现InitializingBea ...

  9. Js构造对象-添加方法的三种方式

    Js构造函数添加方法有多种方案,来看一个混合方式构造函数的例子:申明person构造函数,有两个属性,name,qq.在原型上添加方法showname.这是最常用的方法. <script> ...

随机推荐

  1. Composer Player 属性设置

    /// <summary> /// 设置选中名称 /// </summary> /// <param name="name"></para ...

  2. Android控件Gridview实现仿支付宝首页,Fragment底部按钮切换和登录圆形头像

    此案例主要讲的是Android控件Gridview(九宫格)完美实现仿支付宝首页,包含添加和删除功能:Fragment底部按钮切换的效果,包含四个模块,登录页面圆形头像等,一个小项目的初始布局. 效果 ...

  3. android js调试

    http://blog.allenm.me/ 其他平台去这篇文章看 //js调试调试功能支持4.4版本以上的 if(Build.VERSION.SDK_INT >= Build.VERSION_ ...

  4. Cocos2d-x ios 下http请求的另一种实现

    简单描述下需求:游戏要加入事件log,比如玩家升到10级:创建角色:或是,触发这些事件后要求客户端忘后台抛送一条log信息.一般情况下,我们可以直接使用cocos自带的HttpClient(底层用li ...

  5. dtrace-oracle-vage :吕海波

    http://blog.itpub.net/321157/cid--1-list-1/ http://www.hdb.com/timeline/velqk

  6. 自动显示git分支--安装oh-my-zsh(Ubuntu环境)

    1,安装zsh sudo apt-get install zsh 2,克隆项目 git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh- ...

  7. PHP获取随机数

    <?php $FileID=date("Ymd-His") . '-' . rand(100,999); //$FileID为   20100903-132121-908   ...

  8. .NET中的线程与异步(笔记)

    翻出了之前记录的笔记,基本涵盖了.NET中线程和异步的相关概念.可以提供一个学习的方向. 线程类型 工作者线程IO线程 线程池 全局队列(QueueUserWorkItem.Timer总是放入全局)本 ...

  9. Cannot switch on a value of type String for source level below 1.7. Only convertible int values or enum variables are permitted

    在java中写switch代码时,参数用的是string,jdk用的是1.8,但是还是报错,说不支持1.7版本以下的,然后查找了项目中的一些文件,打开一个文件如下,发现是1.6的版本,好奇怪啊,按照e ...

  10. 1、zookeeper集群安装

    前提准备3台centos7.0虚拟机 c7003:192.168.70.103 c7004:192.168.70.104 c7005:192.168.70.105 并在三台虚拟机上配置hosts为 1 ...