Core Java的那点事儿之ArrayList
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的更多相关文章
- 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 ... 
- Core Java Volume I — 4.7. Packages
		4.7. PackagesJava allows you to group classes in a collection called a package. Packages are conveni ... 
- Java日志框架那些事儿
		文章首发于[博客园-陈树义],点击跳转到原文Java日志框架那些事儿. 在项目开发过程中,我们可以通过 debug 查找问题.而在线上环境我们查找问题只能通过打印日志的方式查找问题.因此对于一个项目而 ... 
- Java 集合框架(二)—— ArrayList
		二.数组列表 —— ArrayList 1.构造方法 ArrayList 是 Java 中的动态数组,底层实现就是对象数组,只不过数组的容量会根据情况来改变. 它有个带 int 类型参数的构造方法,根 ... 
- 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. ... 
- 转:java怎么用一行代码初始化ArrayList
		java怎么用一行代码初始化ArrayList 您可以创建一个工厂方法: public static ArrayList<String> createArrayList(String .. ... 
- applet示例 WelcomeApplet.java <Core Java>
		import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.Font; import java.awt.Grap ... 
- 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 ... 
- 在Java中怎样把数组转换为ArrayList?
		翻译自:How to Convert Array to ArrayList in Java? 本文分析了Stack Overflow上最热门的的一个问题的答案,提问者获得了很多声望点,使得他得到了在S ... 
随机推荐
- SQLserver2005描述对数据的调用
			SQL Server2005 采用了下面的4部分结构 服务器名称.数据库名称.架构名称.数据对象名称 
- Nginx+Keepalived双主轮询负载均衡
			双主模式使用两个VIP,前段有2台服务器,互为主从,两台服务器同时工作,不存在资源浪费情况.同时在前端的DNS服务器对网站做多条A记录,实现了Nginx的负载均衡,当一台服务器故障时候,资源会转移到另 ... 
- HDU 1085 Holding Bin-Laden Captive! 活捉本拉登(普通型母函数)
			题意: 有面值分别为1.2.5的硬币,分别有num_1.num_2.num_5个,问不能组成的最小面值是多少?(0<=每种硬币个数<=1000,组成的面值>0) 思路: 母函数解决. ... 
- MySQL常用命令总结1
			默认已成功安装并配置MySQL,以下命令全部在CMD命令行窗口(Win10平台)中进行输入: mysql -uusername -ppassword //登录MySQL MYSQL -V //查看My ... 
- noip模拟赛#39
			昨晚打开的题想了一会发现都不会后决定慢慢想.然后早上开校会的时候莫名其妙的都想出来了... T1:m=100,ai=50000,i<=5.1到m的数每个数只能用一次,判断是否能够有这些数的某些数 ... 
- swift 命名空间实现的设计思考:extension YKKit where Base == String
			设计问题:谁来构造.构造什么.怎么添加新功能 关键词:本体.客体.构造.映射.功能. 别名:桥接变量.型变变量.容器变量.适配变量,构造变量: 目的:添加命名空间.添加新功能. 原则:不修改本体的实现 ... 
- 关于mongodb的日志
			mongodb的日志与profile相似,在启动mongod时 可以用verbose这个参数配置他的日志详细程度,分为一个v到5个v,其中v越多,详细度越高 mogod.conf port = d ... 
- 如果int x=20, y=5,则语句System.out.println(x+y +""+(x+y)+y);  的输出结果是()
			答案是25255 小括号优先级高,所以先算小括号内的x+y=25 然后再算前面的x+y=25 但是中间有个空的字符串,java会把这个空字符串后面的都当成字符串看待,所以结果是25255 
- Java设计模式学习——设计原则
			第一章 设计原则 1.开闭原则 一个软件实体,像类,模块,函数应该对扩展开放,对修改关闭 在设计的时候,要时刻考虑,让这个类尽量的好,写好了就不要去修改.如果有新的需求来,在增加一个类就完事了,原来的 ... 
- AIDE
			安装 yum install aide 修改配置文件 vim /etc/aide.conf (指定对哪些文件进行检测) /test/chameleon R /bin/ps R+a /usr/bin/c ... 
