Java集合类库list(1)ArrayList实例
public class ArrayListTest {
public static void main(String[] args) {
//创建空的ArrayList列表
ArrayList al = new ArrayList();
//添加元素
al.add("hello");//在列表末尾添加元素
al.add(null);//ArrayList允许null
al.add(new Boolean(true));//基本数据类型如int,double,boolean自动加包成相应的对象
al.add(new Integer(123));//基本数据类型如int,double,boolean自动加包成相应的对象
al.add(new Double(100.12));//基本数据类型如int,double,boolean自动加包成相应的对象
al.add(3, null);
System.out.println(al);
//删除元素
al.remove(3);//删除指定索引的元素
//al.remove(5);索引越界
al.add(null);
System.out.println(al);
al.remove("hello");
al.remove(null);//列表中有多个相同的元素,只会删除第一个
System.out.println(al);
//al.remove(456);//456会识别为索引,索引越界
System.out.println(al.remove(new Integer(345)));//remove返回的是一个Boolean类型的,如果列表中有该元素,则返回true,然后在删除该元素;如果没有该元素,则返回false,列表不受影响
System.out.println(al);
//修改数据
al.set(1, false);
System.out.println(al);
//查询元素
Object o = al.get(2);//get返回的是object的类型
System.out.println(o);
//遍历ArrayList3种方式
System.out.println("--for循环--");
for(int i = 0; i <al.size(); i++){
Object o1 = al.get(i);
System.out.println(o1);
}
System.out.println("--foreach--");
for(Object o1:al){
System.out.println(o1);
}
System.out.println("--iterator--");
Iterator it = al.iterator();
while(it.hasNext()){
Object o1 = it.next();
System.out.println(o1);
}
System.out.println(al.isEmpty());//列表是否为空?
System.out.println(al.size());//返回列表的长度
}
}
Java集合类库list(1)ArrayList实例的更多相关文章
- Java 集合类库
java类库的基本结构 Iterable public interface Iterable<T> 实现这个接口允许对象成为 "foreach" 语句的目标. 也就是说 ...
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例
概要 上一章,我们学习了Collection的架构.这一章开始,我们对Collection的具体实现类进行讲解:首先,讲解List,而List中ArrayList又最为常用.因此,本章我们讲解Arra ...
- Java 集合:HashSet 与 ArrayList
Set 集合是无序不可以重复的的.List 集合是有序可以重复的. Java 集合:HashSet 与 hashCode.equals 博客里面已经说到这个问题,但是解释的还是不够清楚. 看一个小例子 ...
- Java集合框架之一:ArrayList源码分析
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! ArrayList底层维护的是一个动态数组,每个ArrayList实例都有一个容量.该容量是指用来存储列表元素的数组的大小.它总是至少等于 ...
- java集合的实现细节--ArrayList和LinkedList
ArrayList和LinkedList的实现差异 List代表一种线性表的数据结构,ArrayList则是一种顺序存储的线性表,ArrayList底层采用动态数组的形式保存每一个集合元素,Link ...
- 【Java集合源代码剖析】ArrayList源代码剖析
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/mmc_maodun/article/details/35568011 转载请注明出处:http:// ...
- Java集合系列(二):ArrayList、LinkedList、Vector的使用方法及区别
本篇博客主要讲解List接口的三个实现类ArrayList.LinkedList.Vector的使用方法以及三者之间的区别. 1. ArrayList使用 ArrayList是List接口最常用的实现 ...
- Java集合学习(7):ArrayList
一.概述 ArrayList可以理解为动态数组,就是Array的复杂版本.与Java中的数组相比,它的容量能动态增长.ArrayList是List接口的可变数组的实现.实现了所有可选列表操作,并允许包 ...
- Java集合源码剖析——ArrayList源码剖析
ArrayList简介 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存. ArrayList不是线程安全的,只能用在单线程环境下,多线 ...
- 【Java集合】试读ArrayList源码
ArrayList简介 ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了List, RandomAccess, ...
随机推荐
- Spring源码情操陶冶-AbstractApplicationContext#onRefresh
承接前文Spring源码情操陶冶-AbstractApplicationContext#initApplicationEventMulticaster 约定web.xml配置的contextClass ...
- angularJS的$http.post请求,.net后台接收不到参数值的解决方案
JS通用部分 var shoppingCartModule =angular.module('starter', ['ionic'], function ($httpProvider) { // Us ...
- 浅谈js中如何动态添加表头/表列/表格内容
我想很多童鞋用js动态向表格中添加数据很熟悉,而且也觉得非常简单!是的,对于写页面的童鞋来说,最喜欢写查询的页面了,动态向表格绑定数据.用for循环就可以轻松搞定. 如果我们的业务需求有所变化,可能我 ...
- 小程序server-3-搭建WebSocket 服务
小程序server-3-搭建WebSocket 服务: 1.安装 Node 模块 使用 ws 模块来在服务器上支持 WebSocket 协议,下面使用 NPM 来安装: cd /var/www/wxp ...
- CentOS IP DNS设置
1.CentOS 修改DNS 修改对应网卡的DNS的配置文件 # vi /etc/resolv.conf 修改以下内容 nameserver 8.8.8.8 #google域名服务器 nameserv ...
- Head First 设计模式 第1章 策略模式
本章从浅入深的讲解了策略模式的使用,以及策略模式中所涉及到的几个设计原则,在本章的最后给出了策略模式的定义. 1.定义及优点 什么是策略模式呢? 答:定义算法族(对象),分别封装起来,让他们之间可以相 ...
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求
Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 >>>>>>>>>>>>>>&g ...
- MacOS下安装gdb、mgo
安装gdb:http://blog.panks.me/posts/2013/11/install-gdb-on-os-x-mavericks-from-source/ 注意最后两步: killall ...
- Hbase架构与原理
Hbase架构与原理 HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就 ...
- Python垃圾回收机制 总结
Python 垃圾回收机制 内存管理 Python中的内存管理机制的层次结构提供了4层,其中最底层则是C运行的malloc和free接口,往上的三层才是由Python实现并且维护的,第一层则是在第0层 ...