Core Java的那点事儿之ArrayList

  万丈高楼平地起,Java基础要拿起。今天就从我看的Core Java里找了些小基础点来分享一下。

  首先隆重介绍一下专业级龙套演员---Employee类(PS:我可是专注龙套30年),下面会有多次出场,因此先在此介绍一下:

 class Employee{
private String name;
private double salary;
private int id; //下面是set、get方法
}

ArrayList

  首先有请ArrayList登场并进行自我介绍:我是一个采用类型参数(Type parameter)的泛型类(generic class)。为了指定数组列表保存的元素对象类型,我使用一对尖括号将类名括起来加在后面,例如,ArrayList<Employee>(Employee:终于轮到我龙套出场了)...balabala(此处省略10086字)。好了,下面来介绍下怎么来使用他。

  1.声明:

 ArrayList<Employee> staff = new ArrayList<Employee>();

  天哪,两边都有Employee,这也太麻烦了吧。如果嫌麻烦的话,请使用Java7,在Java7中,可以省去右边的类型参数就像下面这样子:

 ArrayList<Employee> staff = new ArrayList<>();

  这又被称为“菱形”语法,因为空的尖括号就像是一个菱形。可以结合new操作符使用菱形语法。编译器会检查新值是什么,如果赋值给一个变量,或传递到某个方法,或者从某个方法返回,编译器会检查这个变量、参数或方法的泛型类型,然后将这个类型放在<>中,在本例中,龙套演员是Employee,因此泛型类型就是Employee。

  2.添加

 staff.add(new Employee("Harry Hacker"....));
staff.add(new Employee("Tony Michel"...));

  3.获取数组实际大小

 staff.size();

  4.访问数组列表元素

  4.1.替换:

 staff.set(i,harry);

  注意:此方法在一定程度上等同于a[i]=harry。但是此方法只能替换数组中已经存在的元素内容。

  4.2.获取

 Employee e = staff.get(i);

  等价于:Employee e = a[i];

  5.插入新元素:

 ArrayList<X> list = new ArrayList<>();
while(...)
{
x=...;
list.add(x);
}

  然后可以使用toArray方法将数组拷贝到一个数组中。

 X[] a = new X[list.size()];
list.toArray(a);

  除此之外,还可以在数组列表中间加入元素:

 int n = staff.size()/2;
staff.add(n, e);

  6.删除元素

 Employee e = staff.remove(n);

  7.遍历数组

  常规方法

 for(int i = 0; i<staff.size(); i++)
{
Employee e = staff.get(i);
//do somne thing with e
}

  逼格稍高点的方法(for each循环):  

 for(Empolyee e : staff)
{
// do something withe e
}

  

  PS:本博客欢迎转发,但请注明博客地址及作者~

   博客地址:http://www.cnblogs.com/voidy/

   <。)#)))≦

Core Java的那点事儿之ArrayList的更多相关文章

  1. Difference Between Arraylist And Vector : Core Java Interview Collection Question

    Difference between Vector and Arraylist is the most common  Core Java Interview question you will co ...

  2. Core Java Volume I — 4.7. Packages

    4.7. PackagesJava allows you to group classes in a collection called a package. Packages are conveni ...

  3. Java日志框架那些事儿

    文章首发于[博客园-陈树义],点击跳转到原文Java日志框架那些事儿. 在项目开发过程中,我们可以通过 debug 查找问题.而在线上环境我们查找问题只能通过打印日志的方式查找问题.因此对于一个项目而 ...

  4. Java 集合框架(二)—— ArrayList

    二.数组列表 —— ArrayList 1.构造方法 ArrayList 是 Java 中的动态数组,底层实现就是对象数组,只不过数组的容量会根据情况来改变. 它有个带 int 类型参数的构造方法,根 ...

  5. Top 25 Most Frequently Asked Interview Core Java Interview Questions And Answers

    We are sharing 25 java interview questions , these questions are frequently asked by the recruiters. ...

  6. 转:java怎么用一行代码初始化ArrayList

    java怎么用一行代码初始化ArrayList 您可以创建一个工厂方法: public static ArrayList<String> createArrayList(String .. ...

  7. applet示例 WelcomeApplet.java <Core Java>

    import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.Font; import java.awt.Grap ...

  8. Core Java Volume I — 1.2. The Java "White Paper" Buzzwords

    1.2. The Java "White Paper" BuzzwordsThe authors of Java have written an influential White ...

  9. 在Java中怎样把数组转换为ArrayList?

    翻译自:How to Convert Array to ArrayList in Java? 本文分析了Stack Overflow上最热门的的一个问题的答案,提问者获得了很多声望点,使得他得到了在S ...

随机推荐

  1. Oracle Business Intelligence Enterprise Edition 12.2.1.2.0 Books

    Oracle Business Intelligence Enterprise Edition 12.2.1.2.0 Books Documentation for Oracle Business I ...

  2. Linux文件的三个时间属性(Atime,Mtime,Ctime)

    Linux下,一个文件有三种时间,分别是: 访问时间:atime 修改时间:mtime 状态时间:ctime 访问时间:对文件进行一次读操作,它的访问时间就会改变.例如像:cat.more等操作,但是 ...

  3. tensorflow构建CNN模型时的常用接口函数

    (1)tf.nn.max_pool()函数 解释: tf.nn.max_pool(value, ksize, strides, padding, data_format='NHWC', name=No ...

  4. Linux yum安装

    一.安装Apache软件步骤:1.安装 yum install httpd 2.启动,关闭 重启等命令systemctl start httpd.service(启动)systemctl restar ...

  5. nginx反向代理与正向代理的区别

    http://blog.csdn.net/m13666368773/article/details/8060481

  6. linux下通过phpize为php在不重新编译php情况下安装模块memcache

    通过phpize为php在不重新编译php情况下安装模块memcache 1. 下载    wget http://pecl.php.net/get/memcache-2.2.4.tgz     解压 ...

  7. mysql--连接查询(内外连接)

    连接查询又称多表查询,查询到的字段来自于多个表中的数据. 一. 连接查询的分类和语法 1.分类 按标准分: 92标准:只支持内连接 99标准:支持内连接和.外连接和全外连接 功能进行分类: 内连接:i ...

  8. DevOps - 监控告警 - Zabbix

    官网3.4版本中文文档 Zabbix documentation in Chinese [Zabbix Documentation 3.4] https://www.zabbix.com/docume ...

  9. 【Ecshop】将内置的 FCkeditor 更换为 UEditor

    1.下载UE,解压到includes/,更名目录名为ueditor 注意更改配置后端文件上传路径,参考文档 2.修改admin/includes/lib_main.php,添加 /** * 生成编辑器 ...

  10. IE支持直接查看Json数据注册表代码

    Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/json] ...