补五月五号java基础知识点
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基础知识点的更多相关文章
- Java基础知识点(四)
前言:记录Java基础知识点,方便熟悉与掌握. 1.面向对象的"六原则一法则" “六原则一法则”:单一职责原则.开闭原则.依赖倒转原则.里氏替换原则.接口隔离原则.合成聚合复用原则 ...
- Java基础知识点总结
前言 本文主要是我之前复习Java基础原理过程中写的Java基础知识点总结.Java的知识点其实非常多,并且有些知识点比较难以理解,有时候我们自以为理解了某些内容,其实可能只是停留在表面上,没有理解其 ...
- JAVA基础知识点总结(全集)
1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境 ...
- Java基础知识点(三)
前言:准备将Java基础知识点总结成一个系列,用于平常复习并加深理解.每篇尽量做到短小精悍,便于阅读. 1.Math类中相关函数 Math.floor(x):返回不大于x的最大整数.eg:Math.f ...
- Java基础知识点(二)
前言:Java的基础知识点不能间断. 1.Array和ArrayList的区别 关于Array的用法,参看:http://blog.csdn.net/b_11111/article/details/5 ...
- Java基础知识点(一)
前言:本篇随笔,主要记录Java的基础知识点,不管是用于项目或者面试中,笔者认为都非常有用,所以将持续更新...... 1.Java的访问权限 Java中有四种访问权限:默认访问权限.public.p ...
- java基础知识点补充---二维数组
#java基础知识点补充---二维数组 首先定义一个二维数组 int[][] ns={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} }; 实现遍 ...
- 推荐五个java基础学习网站,小白必备
不知道去哪找java基础资料?推荐几个学习网站,小白必备 Java经过20多年的发展,仍然是世界上最受欢迎的编程语言之一,有无限多种方法使用Java.拥有庞大的客户群.并且java应用范围很广,基本只 ...
- Java基础知识点
以下10点为JAVA 基础知识,后面将足以总结和完善以备面试 数据类型 (包装类,字符串,数组) 异常处理 Java IO和NIO 数据结构 (集合和容器 ) 多线程(并发) 网络通信(协议) 面向对 ...
- 如何学习java?Java基础知识点分享
面对未知的行业,人们的第一反应应该是:拒绝踏入.因为学习真的是一个痛苦的过程.想要真正了解一个行业,熟知一个行业,并熟练掌握某一技术,是真的需要时间和精力的.在学习Java基础知识期间,千锋小编疯狂为 ...
随机推荐
- ubuntu安装xface
Gnome.KDE.XFACE桌面环境安装和卸载 出自Ubuntu中文 安装桌面环境 (一)在终端中运行安装: 1.安装XFACE: sudo apt-get install xubuntu-desk ...
- vue-封装组件-结合vant实现点击按钮弹出泡泡(Popover)事件控制多个泡泡出现时,弹出对应的泡泡
<template> <div class="sale-share-box"> <span class="sale-share-btn&qu ...
- 1008.Django模型基础03
一.关系表的数据操作 关系表中的数据操作 查看数据库中的表结构 一对多表关系数据的添加: 1. 第一种方式就是跟之前一样,用传参的方法添加,需要注意的是外键的值必须是关联表中已存在的值: 2. 第二种 ...
- python读书笔记-网页制作
socket()函数 Python 中,我们用 socket()函数来创建套接字,语法格式如下: Socket 对象(内建)方法 Python Internet 模块:
- C++ || 用类 写交换函数 ||函数指针传递
点击查看代码 #include <iostream> using namespace std; void swap(int* a,int* b) //函数参数为指针形式 { int p = ...
- 深入理解css 笔记(6)
网格布局:flexbox 彻底改变了网页布局方式,但这只是开始.它还有一个大哥:另一个称作网格布局模块的新规范.这两个规范提供了一种前所未有的全功能布局引擎.跟 flexbox 类似,网格布局也是作用 ...
- 2022.07.13 vue3下pinia的简单使用及持久化
使用前说明: 当前demo使用了vue3 + vite + typescript + pinia搭建的简单项目,主要介绍了在单文件组件(sfc)基础上使用pinia的用法,懒得看api的兄弟们,来这瞅 ...
- [扫描工具]dirsearch简单使用
[扫描工具]dirsearch简单使用 dirsearch是一个python开发的目录扫描工具.和我们平时使用的dirb.御剑之类的工具一样,就是为了扫描网站的敏感文件和目录从而找到突破口. 安装: ...
- 算法学习01—Java底层的正整数与负整数
算法学习01 - Java 底层的正整数与负整数 本节课学到的知识 编写一个方法,打印出 int 类型数字的二进制长什么样 为什么 int 类型的最大值是 2^32 - 1,最小值是 -2^32 负整 ...
- Adams:导出动画
1 首先模型在adams里能正常运动,点击start simulation仿真一遍. 2 然后在界面上按F8进入Plotting界面. 3 在左上角把Plotting换成Animation. 4 然后 ...