A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

        Collection
                List 有序(存取一致) 可重复
                        ArrayList        数组,查询快,增删慢,不安全,高。
                        Vector        数组,查询快,增删慢,安全,低。
                        LinkedList        链表,查询慢,增删快,不安全,高。

                Set        无序,唯一
                        HashSet        哈希算法,不安全,高。
                                如何保证元素的唯一性?
                                        依赖于两个方法:hashCode(),equals()

                        TreeSet        二叉树,不安全,高
                                如何保证元素的唯一性?
                                        A:自然排序。
                                                Comparable,compareTo()
                                        B:比较器接口。
                                                Comparator,compare()
        Map
                HashMap        哈希算法,不安全,高。
                TreeMap        二叉树,不安全,高


        Collection 和 Map 的区别:
                Collection:单列集合的顶层接口, 数据结构针对元素有效,它的Set体系具有唯一性。
                Map:双列,键,键是唯一的。

        Collection 和 Collections
                Collection :单列集合的顶层接口, 数据结构针对元素有效,它的Set体系具有唯一性。
                Collections        :操作单列集合的工具类。
               
        HashMap 和 Hashtable 的区别:
                HashMap:        JDK1.2,线程不安全,效率高。可以存null值和键
                Hashtable:        JDK1.0 线程安全,效率低。不可以存null值和键       
        看需求。
        看用单列还是双列:
                单列:Collection
                        看是否唯一:
                                是:Set
                                        看是否排序:
                                                是:TreeSet
                                                否:HashSet
                                                需求不明确,用HashSet
                                否:List
                                        看增删多还是查询多:
                                                增删多:LinkedList
                                                查询多:ArrayList
                                                需求不明确,用ArrayList
                双列:Map:
                        看是否排序:
                                是:TreeMap
                                否:HashMap
                                需求不明确,用HashMap

3:ArrayList,LinkedList,HashSet,HashMap
        存储字符串和自定义对象数据并遍历
       
4:集合的嵌套遍历

IO流的概述:使用设备之间不同设备的数据传输。
                分为两类:
                        按照流向分(操作是内存和硬盘之间的数据)
                                输入流:读取文件
                                输出流:写文件
                        按照操作分:
                                        字节流:可以操作任何类型的数据
                                        InputStream        字节输入流(读)
                                        OutputStream 字节输出流(写)

                        字符流:只能操作纯中文的数据。
                                        Reader        字符输入流
                                        Writer        字符输出流
        主要是六部记住这六部IO就学会了:
                FileInputStream fis = new FileInputStream()                //封装输入路径。
                FileOutputStream fos = new FileOutputStrem()        //封装目的地
                int len ;                                                                                //创建一个int类的值来存储读取的字节。
                while((len=fis.read())!=-1){                                        //创建一个循环来不断的获取字节当len取-1的时候循环停止
                        fos.write(len);                                                                //写文件
                }               
                fis.colse();                                                                        //关闭输入流
                fos.colse();                                                                        //关闭输出流

字符流.两个顶层借口一个是reander 和 writer
转换流之: InputStreamReader        字节流转成字符流的桥梁               
                        因为 FileReader 读取文件的时候,采用的是默认码表(GBK),而我们想要用指定的码表来读,就要用 InputStreamReader
                        public InputStreamReader(InputStream is, String charSetName);        //需要两个参数,一个是字节输入流,一个是 码表
                        常见的写法:
                                InputStreamReader isr = new InputStreamReader(new FileInputStream("数据源文件"),"utf-8");
                                BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("数据源文件"),"utf-8"));
        字符流最好只读文本,                不可以拷贝文件什么的因为涉及到字节和字符之间的转换有的时候会出现乱码的情况.
递归:                                                                               
        概述:就是方法自己调用自己。                                               
        弊端:不能调用次数过多,否则会栈内存溢出。
        好处:不用知道方法的调用次数。
        注意:
                1、构造方法不能进行递归调用。
                2、递归调用的时候,方法有无返回值均可。

2 个回复

正序浏览
很不错的总结,加油
回复 使用道具 举报
加油-加油-加油-
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马