zoukankan      html  css  js  c++  java
  • 一、javaSE (十五)对象数组、集合(Collection)、集合(List)

    1:对象数组(掌握)

          (1)数组既可以存储基本数据类型,也可以存储引用类型。它存储引用类型的时侯的数组就叫对象数组

          (2)案例:

          用数组存储5个学生对象,并遍历数组。

    2:集合(Collection)(掌握)

          (1)集合的由来?

               我们学习的是Java--面向对象--操作很多对象--存储--容器(数组和 stringbuffer)--数组

               而数组的长度固定,所以不适合做变化的需求,Java就提供了集合供我们使用

          (2)集合和数组的区别?

               A:长度区别

                     数组固定

                     集合可变

               B:内容区别

                     数组可以是基本类型,也可以是引用类型

                     集合只能是引用类型

               C:元素内容

                     数组只能存储同一种类型

                     集合可以存储不同类型(其实集合一般存储的也是同一种类型)

          (3)集合的继承体系结构?

               由于需求不同,Java就提供了不同的集合类。这多个集合类的数据结构不同,但是它们都是要提供存储和通历功能的,

               我们把它们的共性不断的向上提取,最终就形成了集合的继承体系结构图

               Collection

                     |--List

                          |--Arraylist

                          |--Vector

                          |--Linkedlist

                     |--Set

                          |--Hashset

                          |--Treeset

          (4)Collection的功能概述(自已补齐)

               A:添加功能

               B:删除功能

               c:判断功能

               D:获取功能

               E:长度功能

               F:交集(了解)

               G:把集合转数組(了解)

          (5)Collection集合的通历

               A:把集合转数組(了解)

               B:迭代器(集合专用方式)

          (6)迭代器

               A:是集合的获取元素的方式

               B:是依赖于集合而存在的

               C:迭代器的原理和源码

                     a:为什么定义为了一个接口而不是实现类?

                     b:看了看迭代器的内部类实现

          (7)Collection集合的案例(遍历方式迭代器)

               集合的操作步骤:

                     A:创建集合

                     B:创建元素对象

                     c:把元素添加到集合

                     D:遍历集合

               A:存储字符并通历

               B:存储自定义对象并遍历

     

    3:集合(List)(掌握)

          (1)ListCo11ection的子接口

               特点:有序(存储顺序和取出顺序一致),可重复;

          (2)List的特有功能:(自己补齐)

               A:添加功能

               B:删除功能

               c:获取功能

               D:迭代器功能

               E:修改功能

          (3)List集合的特有遍历功能

               A:size()get()结合

          (4)列表迭代器的特有功能:(了解)

               可以逆向遍历,但是要先正向遍历,所以无意义,基本不使用

          (5)并发修改异常

               A:出现的现象

                     迭代器遍历集合,集合修改集合元素

               B:原因

                     送代器是依赖于集合的,而集合的改变送代器并不知道

               C:解决方案

                     a:迭代器遇历,迭代器修改(ListIterator)

                          元素添加在刚才迭代的位置

                     b:集合通历,集合修改(size()get())

                          元素添加在集合的末屬

          (6)常见数据结构

               A:先进后出

               B:队列先进先出

               c:数组查询快,增删慢

               D:链表查询慢,增删快

          (7)五就t的子类特点(面试题)

               Arraylist

                     底层数据结构是数組,查询快,增删慢

                     线程不安全,效率高

               Vector

                     底层数据结构是数组,查询快,增删馒

                     线程安全,效率低

               Linkedlist

                     底层数据结构是链表,查询慢,增删快

                     线程不安全,效率高A

               到底使用谁呢?看需求?

               分析:

                     要安全吗?

                          : Vector(即使要,也不使用这个,后面再说)

                          不要: Arraylist或者 Linkedlist

                                查询多: Arraylist

                                增删多: Linkedlist

               什么都不知道,就用 Arraylist

  • 相关阅读:
    【C++】深度探索C++对象模型读书笔记--关于对象(Object Lessons)
    【操作系统】调度算法
    【vim】vim常用命令
    【linux】linux的数据流重定向
    以太网帧,IP,TCP,UDP首部结构
    IPv4编址及子网划分
    【计算机网络】计算机网络模型
    【计算机网络】NAT:网络地址转换
    【设计模式】C++中的单例模式
    (转)linux查找技巧: find grep xargs
  • 原文地址:https://www.cnblogs.com/zhangchengbing/p/8278537.html
Copyright © 2011-2022 走看看