1.容器类:
容器类是java以类库的形式供有用户开发程序时可直接使用的各种数据结构。
2.java容器框架中有两个名称分别为Collection和Set的接口,为防止名称的冲突,本书将
Collection译为容器,而将Set译为集合
3.java容器框架结构由两棵接口树构成,第一棵树根节点为Collection接口,它定义了
所有容器的基本操作,如添加、删除、遍历等。它的子接口Set、List等则提供了更加特殊
的功能,其中Set的对象用于存储一组不重复的元素集合,而List的对象用于存储一个由元素
构成的线性表。第二课树节点为Map接口,它保持了“键”到“值”的映射,可以通过键来
实现对值得快速访问
4.容器接口Collection:
Collection<E>接口的常用方法,其中的方法默认为public abstract。由于容器框架全部
采用泛型实现,所以我们以泛型的形式给出相应的方法,即带类型参数
5.列表接口List
列表接口List是Collection的子接口,它是一种包含有序元素的线性表,其中的元素必须按
顺序存放,且可重复,也可以是空值null
6.元素之间的顺序关系可以由添加到列表的先后来决定,也可由元素的大小来决定。List接口
使用下标来访问元素。下标范围为0-size()-1.常用方法默认为public abstract
7.实现List接口的类主要有两个:链表类LinkedList和数组列表类ArrayList.它们都是线性表
8.LinkedList链表类采用链表结构保存对象,使用循环双链表实现List。这种结构向链表中
任意位置插入、删除元素时不需要移动其他元素,链表的大小是可以动态增大或减小的,
但不具有随机存取特性
9.ArrayList数组列表类使用一维数组类实现List,该类实现的是可变数组,允许所有元素包括
null。具有随机存取特性,插入、删除元素需要移动其他元素,当元素很多时,插入、删除
的操作很慢。在向ArrayList中天际元素时,其容量会自动增大,但不能自动缩小,但可以用
trimToSizie()方法将数组的容量减小到数组列表的大小
10.如何选用这两种线性表?通常原则为:若要通过下标随机访问元素,但除了在末尾处之外
不在其他位置插入或删除元素,则应该选择arrayList类,但若需要在线性表的任意位置进行
插入或删除操作,则应选择LinkedList类
11使用线性表时通常声明为List<E>类型,然后通过不同的实现类来实例化列表。如
List<String> list1 = new LinkedList<String>();
List<String> list1 = new ArrayList<String>();
LinkedList<E>l类与ArrayList<E>类大部分方法是继承其父类或祖先类,除此之外还定义了
各自的方法

总结:今天简单的了解了容器的概念就是相当于程序中的各种数据结构

数据结构又分为总的两种一种是Collection容器两外一种就是Set集合

容器Collection中又有List列表,它又有两个子类LinkedList和ArrayList类

他们在不同的情况下使用,ArrayList随机存取,LinkedList有序存取,删除插入方便

补五月五号java基础知识点的更多相关文章

  1. Java基础知识点(四)

    前言:记录Java基础知识点,方便熟悉与掌握. 1.面向对象的"六原则一法则" “六原则一法则”:单一职责原则.开闭原则.依赖倒转原则.里氏替换原则.接口隔离原则.合成聚合复用原则 ...

  2. Java基础知识点总结

    前言 本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其 ...

  3. JAVA基础知识点总结(全集)

    1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境 ...

  4. Java基础知识点(三)

    前言:准备将Java基础知识点总结成一个系列,用于平常复习并加深理解.每篇尽量做到短小精悍,便于阅读. 1.Math类中相关函数 Math.floor(x):返回不大于x的最大整数.eg:Math.f ...

  5. Java基础知识点(二)

    前言:Java的基础知识点不能间断. 1.Array和ArrayList的区别 关于Array的用法,参看:http://blog.csdn.net/b_11111/article/details/5 ...

  6. Java基础知识点(一)

    前言:本篇随笔,主要记录Java的基础知识点,不管是用于项目或者面试中,笔者认为都非常有用,所以将持续更新...... 1.Java的访问权限 Java中有四种访问权限:默认访问权限.public.p ...

  7. java基础知识点补充---二维数组

    #java基础知识点补充---二维数组 首先定义一个二维数组 int[][] ns={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} }; 实现遍 ...

  8. 推荐五个java基础学习网站,小白必备

    不知道去哪找java基础资料?推荐几个学习网站,小白必备 Java经过20多年的发展,仍然是世界上最受欢迎的编程语言之一,有无限多种方法使用Java.拥有庞大的客户群.并且java应用范围很广,基本只 ...

  9. Java基础知识点

    以下10点为JAVA 基础知识,后面将足以总结和完善以备面试 数据类型 (包装类,字符串,数组) 异常处理 Java IO和NIO 数据结构 (集合和容器 ) 多线程(并发) 网络通信(协议) 面向对 ...

  10. 如何学习java?Java基础知识点分享

    面对未知的行业,人们的第一反应应该是:拒绝踏入.因为学习真的是一个痛苦的过程.想要真正了解一个行业,熟知一个行业,并熟练掌握某一技术,是真的需要时间和精力的.在学习Java基础知识期间,千锋小编疯狂为 ...

随机推荐

  1. Ubuntu系统update时提示源不安全被禁用的一种解决办法

    参考自这篇文章Ubuntu系统update时提示源不安全被禁用 - 知乎 (zhihu.com). 安装好Ubuntu18.04并更换清华源后,在运行 sudo apt update 更新源时报错如下 ...

  2. k8s集群部署kafka

    一.部署步骤 1.部署NFS并挂载共享目录 2.部署zookeeper集群 3.部署kafka集群 4.测试kafka 二.部署NFS并挂载共享目录 注:使用云产品的NAS存储可跳过此步骤 1.服务端 ...

  3. 2019 CSP J/S第2轮 视频与题解

    CSP入门组和提高组第二轮题解 转自网络

  4. javascript原型,继承

    //普通对象 //函数对象(有原型 prototy 的属性) //原型的应用 继承 function Amial(){ this.type = '小于' } function cat(name){ t ...

  5. 字节过滤流 --->对象流(存入对象的)----> ObjectOutputStream: 用法

    前提:1).要有一个类 并创建这个类的对象2)要让类必须继承Serializable接口3)transient修饰的属性 值不参与序列化1创建字节输出节点流FileOutputStream fos = ...

  6. Vue二级联动上传图片

    二级联动的后台和之前一样都需要一个字典字段查询来实现二级联动 但是由于VUE语法和AJAX的不同在前台绑定的时候也有所不同 2.1 首先下拉框的写法就有了本质的改变通过v-model="&q ...

  7. LeetCode 之 111. 二叉树的最小深度

    原题链接 思路: 递归计算每个子树的深度,返回左右子树中深度小的值: 由于题目中要求的是到最近叶子节点的深度,所以需要判断 左右子树为空的情况: python/python3: class Solut ...

  8. 用JS实现一个简单的购物车小案例

    该案例主要是实现的功能有:添加商品功能,将商品添加到购物车的功能还有将商品删除功能,还有就是移出购物车的功能 该案例实现的难点是将商品添加到购物车列表的时候 数量的增加,当购物车有该商品的时候就进行累 ...

  9. HashMap记录

    1.HashMap接收null的键值 2.HashMap是非synchronized的 3.HashMap使用hashCode找到bucket的位置.bucket中存储的是键和值 4.当HashCod ...

  10. Vue 解决先渲染 暂无数据

    // 组件 data(){ return { data:null // 设置默认值为null } } // template <div v-show="data != null&quo ...