J2EE集合框架

目录

1.UML

2.Collection接口

3.List接口

4.泛型

5.装箱、拆箱(案例:快递)

6. ArrayList、LinkedList、Vector区别

7.思维导图


1.UML

 统一建模语言

2.Collection接口

  1. 集合框架的顶级接口
  2. 是Set和List的父接口
  3. 但不是Map的父接口

3.List接口

  1 特点:有序、对象可以重复
  2 遍历方式 
     2.1 下标
    2.2 foreach(>=jdk1.5)
    2.3 迭代器Iterator(原理) 
          hasNext()
          next()
  3 List优化
      初始容量10,负载因子0.5
 

public static void main(String[] args) {
		
		List list = new ArrayList();
		
		list.add("张3");
		list.add("李4");
		list.add("王5");
		list.add("朱6");
		
		//list集合的遍历方式
		
		//1.下标遍历 for循环
		for (int i = 0; i < list.size(); i++) {
			System.out.println(list.get(i));
		}
		
		System.out.println("------------------------");
		
		//2.foreach循环(jdk1.5只后才有)
		for (Object object : list) {
			System.out.println(object);
		}
		
		System.out.println("------------------------");
		
		//3.迭代器
		Iterator it = list.iterator();
		
		/*it.hasNext();//返回类型为boolean
		it.next();//获取下一个元素,并移动迭代器位置
*/		
		while(it.hasNext()) {
			Object next = it.next();
			System.out.println(next);
		}
		
		//Set set = null;
		
		
		System.out.println("------------------------");
		
		ListIterator lit = list.listIterator();
		while(lit.hasNext()) {
			Object next = lit.next();
			System.out.println(next);
		}
		System.out.println("------------------------");
		while(lit.hasPrevious()) {
			Object previous = lit.previous();
			System.out.println(previous);
		}
		
		
	}

 

public static void main(String[] args) throws Exception {
        
        List list = new ArrayList(50);
        
        //list集合 实现类 arraylist实际是一个object数组
//        print(list);
//        for (int i = 1; i <50; i++) {
//            list.add(i);
//            print(list);
//        }
        
    
        
    }

    public static void print(List ls) throws Exception {
        //反射 
        //1.获取类对象
        Class clazz = ls.getClass();
        //获取属性对象
        Field Field = clazz.getDeclaredField("elementData");
        //打开属性限制
        Field.setAccessible(true);
        
        Object[] object = (Object[])Field.get(ls);
        System.out.println("数组长度为:"+object.length);
    }
    

4.泛型

JDK1.5之后
   以类型作为参数的类就叫泛型
   作用:提高程序健壮性,简化代码
   泛型的默认值是Object

5.装箱、拆箱(案例:快递)

  值类型->引用类型 装箱
   引用类型->值类型 拆箱
   jdk1.5之后引入了自动装箱及自动拆箱功能

    //值类型转换成引用类型 装箱
        int i = 1;
        Integer j = i;
        
        //值类型转换成引用类型  拆箱
        Integer k = 1;
        i = k;
        k.intValue();

 6.ArrayList、LinkedList、Vector区别

ArrayList:以连续的数组结构存储数据,查询块(下标)、增删改慢
LinkedList:以链表的结构存储数据,查询慢、增删改快
 Vector:增删改查都慢,已过时,同步.线程安全

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值