java第十章学习总结

1.集合框架的特点:

  • 可以放入任何值
  • 可以自动控制大小
  • 提供多种访问和修改方法

2.Collection 是集合框架的根接口

3.集合框架分为是否有序,是否允许重复,没有Collection的直接实现类,都是其子接口的实现类

4.Collection 的实现子接口有Set接口和List接口

5.List接口有序(存入和取出顺序不变)重复(可以放入相同值),Set接口无序(存入和取出顺序不相同,不保证取出顺序恒久不变)不重复

6.List接口常用实现类:ArrarList和Vector其中ArrayList都具有List接口功能Arraylist可以放入包括null值在内的所以元素Vector同样,但ArrarList是线程不安全的,Vector是线程安全的。

7.Set接口常用实现类:HashSet,HashSet具有Set集合具有的特点,是线程不安全的。

8.集合和Set如果放入重复值后面的覆盖前面

9.Map接口:键值对集合常用实现类:HashMap和HashTable,HashMap是非线程安全的,HashTable是线程安全的

10.Map接口的key是Set集合不允许出现重复值,value是List可以出现重复值,如果key重复后面替换前面,value同样替换

11.集合迭代:

  • for循环
    for(int i=0;i

  • foreach循环
    for(Object o:set) {
    
        System.ouy.println(o);
    }

  • Iterator 迭代
    Iterator it = new set.iterator();
    
    while(it.hasNext){
        System.out.pringln(it.next());
    }

12.jdk1.5后一般迭代用foreach循环

13.ArrayList默认长度为10,如果元素超过10个则自动扩展10个

14.当两个对象比较HashCode()方法返回值相同时,equals()方法返回值不一定相同,equals()方法返回值相同时,HashCode()返回值是相同的。

15.泛型

  • 用法:集合<数据类型>  集合名 = new 集合<数据类型>();
    Set set = new ArrayList();
    Map map = new HashMap();

  • 控制集合框架的数据类型
  • 当集合使用泛型时将不再接收其他数据类型。
  • 当泛型是基本数据类型是应该使用他们的包装类型定义
  • 使用泛型可以提高集合处理速度,减少错误,使用方便,不用在对数据类型进行强制转换
  • 使用集合时推荐使用泛型

16.单例模式:只创建一个对象,无法创建出的二个对象

17.单例模式使用

  • 私有化构造方法
  • 提供一个公有的可以返回该对象的静态方法
  • 定义一个接收该对象的私有的静态属性

public class Bank {

	/*
	 * 设计模式-单例模式
	 * 1.私有化构造方法
	 * 2.提供可以返回该类对象的公有的静态方法
         * 3.创建一个接受该对象的静态属性
	 */
	
	private Bank() {}
	
	private static Bank bank;// = new Bank();
	
	public static Bank getIntances() {
		if(bank == null) {
			bank = new Bank();
		}
		return bank;
	}
	
}

18.单例模式分类

  1. 延迟加载:懒汉式
    public class Bank {
    	
    	private Bank() {}
    	
    	private static Bank bank;// = new Bank();
    	
    	public static Bank getIntances() {
    		if(bank == null) {
    			bank = new Bank();
    		}
    		return bank;
    	}
    	
    }

  2. 非延迟加载:饿汉式
    public class Bank {
    	
    	private Bank() {}
    	
    	private static Bank bank = new Bank();
    	
    	public static Bank getIntances() {
    		return bank;
    	}
    	
    }

转载于:https://my.oschina.net/u/195953/blog/34096

你可能感兴趣的:(java第十章学习总结)