集合框架(Collection)

一、集合是什么?

它和数组不同,数组既可以存储基本数据类型,也可以存储引用数据类型。而集合只能存储引用数据类型,比如你存入一个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:增删改查都慢,已过时,同步.线程安全

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值