码迷,mamicode.com
首页 > 编程语言 > 详细

Java之arrayList 方法二

时间:2016-05-21 00:02:33      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:arraylist

  1. 类型不兼容的错误集合

package com.yuanzijian02;

import java.util.ArrayList;

public class ArrayList2 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		ArrayList list = new ArrayList();
		list.add("hello");
		list.add(new Integer(2));
		
		String str = (String)list.get(0);
		String in = (String)list.get(1);
	}

}

执行结果

Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
	at com.yuanzijian02.ArrayList2.main(ArrayList2.java:14)

2.从集合中取出数据,然后相加

package com.yuanzijian03;

import java.util.ArrayList;

public class ArrayListTest3 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		ArrayList list = new ArrayList();
		list.add(new Integer(3));
		list.add(new Integer(4));
		list.add(new Integer(5));
		list.add(new Integer(6));
		int sum = 0;
		for(int i = 0; i< list.size(); i++){
			int value  = ((Integer)list.get(i)).intValue();
			sum += value;
		}
		System.out.println(sum);
	}

}

执行结果

18

3.重写toString()方法

package com.yuanzijian05;

import java.util.ArrayList;

public class ArrayListTest5 {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		ArrayList list = new ArrayList();
		list.add(new Point(2,3));
		list.add(new Point(2,2));
		list.add(new Point(2,4));
		list.add(new Point(2,5));
		for(int i = 0; i < list.size(); i++){
			System.out.println(list.get(i));
		}
		System.out.println(list);
	}
}
class Point{
	int x;
	int y;
	Point(int x, int y){
		this.x = x;
		this.y = y;
	}
	@Override
	public String toString() {
		// TODO 自动生成的方法存根
		return "x = " + this.x + ", y = " + this.y;
	}
}

执行结果

x = 2, y = 3
x = 2, y = 2
x = 2, y = 4
x = 2, y = 5
[x = 2, y = 3, x = 2, y = 2, x = 2, y = 4, x = 2, y = 5]

4.在集合中存放的依然是对象的引用而不是对象的本身

5.ArrayList底层采用数组实现,当使用不带参数的构造方法生成ArrayList对象时,实际上会在底层生成一个长度为10的Object类型的数组

6.如果增加的元素个数超过了10个个,那么ArrayList底层会新生成一个数组,长度为原数组的1.5倍+1,然后将原数组的内容复制到新数组当中,并且后续增加的内容会放到新的数组当中,但新数组无法容纳增加的元素时,重复该过程

7.对于ArrayList元素的删除操作,需要将被删除元素的后续向前移动,这是一个代价比较高的元素

8.集合当中只能放置对象引用,无法放置原生数据类型,我们需要使用原生数据类型的包装类才能加入到集合当中

9.集合当中放置的都是Object类型,因此取出来的也是Object类型,那么必须要使用强制类型转换将其转换为真正的类型(放置进去的类型)。


Java之arrayList 方法二

标签:arraylist

原文地址:http://hnyuanzijian.blog.51cto.com/8869344/1775553

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!