集合框架(Collection)

  • Post author:
  • Post category:其他


一、集合是什么?

它和数组不同,数组既可以存储基本数据类型,也可以存储引用数据类型。而集合只能存储引用数据类型,比如你存入一个int型数据18放入集合中,其实它是自动转换成Integer类后存入的,Java中每一种基本数据类型都有对应的引用类型,如果存储基本数据类型,会被自动装箱。

它就像一个容器,专门用来存储

java对象

(实际上是对象名,即指向地址的指针),这些对象可以是任意数据类型,并且长度可变。其中,这些集合类都位于java.util包中,在使用时一定要注意导包的问题,否则会出现异常。

关系图如下,该图用到了UML(统一建模语言):


继承关系:子类继承父类的行为或特征;


依赖关系:是接口里面有某个方法需要用到某个类或者接口对象;


二、Collection接口

1.集合框架的顶级接口(所有接口都是从 Collection 接口继承过来的);

2.是 Set 和 List 的父接口;

3.但不是 Map 的父接口。

三、list接口

List接口的特点:有序,可重复。


注:继承 List 接口的类都具有以上两点特点。

package com.zking.dog;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class test03 {
	
	public static void main(String[] args) {
		List list  =new ArrayList();
		//List集合的特点:1有序
		list.add("木");
		list.add("1");
		list.add("林");
		list.add("2");
		
		for (Object object : list) {
			System.out.println(object);
		}
		
		//List集合的特点2.元素可以重复
		list.add("2");
		
		System.out.println("-----------------");
		
		for (Object object : list) {
			System.out.println(object);
		}
		
		list.add(1);
		
		//java八大基本数据类型 int float byte double short char boolean long
		
	
		test t = new test();
	
	}

}


可通过三种方式比遍历List集合的值:

1. foreach 循环

2. for 循环

3. Iterator(迭代器):一种对象,能够用来遍历目标中的部分或者全部元素。

四、List的优化:

List集合的初始是没有长度的,但是只要往集合中插入数据,长度就会变成10,但是避免不了很大的数据,官方就想到了一个方法,如果存储的长度在10以上就增加原来容量的1.5倍,如此一来就既不会有过大的无用空间,也提升了运行代码的速度。

五、泛型

JDK1.5之后以类型作为参数的类就叫泛型

作用:提高程序健壮性,简化代码

泛型的默认值是Object

六、 装箱(从小到大)、拆箱(从大到小)(案例:快递)

值类型->引用类型 装箱

引用类型->值类型 拆箱

jdk1.5之后引入了自动装箱及自动拆箱功能

七、 ArrayList、LinkedList、Vector区别

ArrayList:以连续的数组结构存储数据,查询块(下标)、增删改慢

LinkedList:以链表的结构存储数据,查询慢、增删改快

Vector:增删改查都慢,已过时,同步.线程安全



版权声明:本文为m0_68756200原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。