黑马程序员技术交流社区

标题: 集合、泛型、简单工厂、接口概述 [打印本页]

作者: 约吗^_^    时间: 2015-11-17 23:46
标题: 集合、泛型、简单工厂、接口概述
接口:即规范
public interface MyInterface {
    public void foo();    //所有方法都是public abstract

}

接口不可以被实例化  interface也是一种类型(class)
实现类必须实现接口的所有方法
接口中的变量斗士静态常量
抽象类可以不实现接口里面的东西

设计和实现完全分离
更自然的使用多态
更容易搭建程序框架

接口可以继承多个接口

简单工厂:
用来创造接口的实现类的对象
public class LnkFactory{
    public static ILnk(父类) createLnk(String type) {
        ILnk lnk = null;

        if(type.equals("color")) {
            lnk = new ColorLnk()(子类);
        }
        if() {

        };

        return lnk;
    }
}

集合:所有抽象出来的数据结构和操作统称为Java的集合框架(Java Collection Framework)
Collections提供了对集合进行排序、遍历等多种算法实现
集合又称为动态数组
file:///Users/SunnyBoy/Library/Containers/com.youdao.note.YoudaoNote/Data/Library/Application%20Support/com.youdao.note.YoudoNote/jp19910202@163.com/Resources/2/3/22348A606B24461FA708BD4FB6AE6243
Collection接口存储一组不唯一,无序的对象
List接口存储一组不唯一,有序(按插入顺序)的对象
Set接口存储一组唯一,无序的对象
Map接口存储一组键值对象,提供key到value的映射
ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高
LinkedList采用链表存储方式。插入、删除元素时效率比较高
file:///Users/SunnyBoy/Library/Containers/com.youdao.note.YoudaoNote/Data/Library/Application%20Support/com.youdao.note.YoudoNote/jp19910202@163.com/Resources/4/2/EA6477BF42AE456789EE33A3B9367B44
file:///Users/SunnyBoy/Library/Containers/com.youdao.note.YoudaoNote/Data/Library/Application%20Support/com.youdao.note.YoudoNote/jp19910202@163.com/Resources/5/7/B5213515F28E496FBD9438A8CEEBEE9A
file:///Users/SunnyBoy/Library/Containers/com.youdao.note.YoudaoNote/Data/Library/Application%20Support/com.youdao.note.YoudoNote/jp19910202@163.com/Resources/3/7/F7C17959496341F8ACDECE7BBC378711

Vector 是线程安全的,ArrayList是线程非安全的,但效率较高

Set接口存储一组唯一,无序的对象
Set接口没有get方法,所以用Iterator接口来遍历Set里面的数据,方法:add();  addAll(); clear(所有元素);  remove(); size()  
Iterator<E> 的hasNext(); 用来判断是否还有数据进行迭代。   next();  返回迭代的下一个元素。

Map
put(Object key, Object val)以键-值的形式进行存储

泛型:
List<Theme> themeList = new ArrayList<Theme>();
themeList.add(new Theme("adsf", null));
for(Theme t : themeList) {
    syso(t.getTitle());

}



作者: jlq    时间: 2015-11-17 23:47
kankan   zhcihiyixia
作者: 2015竹林风    时间: 2015-11-18 19:23
学习了....
作者: 半指流沙    时间: 2015-11-18 20:36
感谢分享///
作者: yaoyeqing    时间: 2015-11-18 22:05
来学习了,总结得挺好
作者: 唯我独赞mo    时间: 2015-11-18 22:37
学习了不错
作者: zhuchen    时间: 2015-11-18 23:49
加油~~好帖子~!!!
作者: nice非飞    时间: 2015-11-18 23:53
来学习学习~~
作者: sshh11    时间: 2015-11-19 00:02
谢谢分享




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2