补五月五号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基础知识期间,千锋小编疯狂为 ...
随机推荐
- 记一次因为关键字OUT 导致的后台"sql injection violation" 报错的问题
在navicat和mssm中执行用字段别名'out'均没有问题,但是在mybatis里使用就会报 "sql injection violation, syntax error: ERROR. ...
- Qt打印不同颜色
qCritical()<<"\033[47;31m"<<"打印的字符串"<<"\033[m"; \033 ...
- 对表单input输入框加特殊符号(正斜杠和反斜杠)校验
<p>图片名称:</p><input type="text" name="afterName" style="heigh ...
- 深入理解Linux系统调用
1.系统调用号查询 我的学号位数是08,在64位调用表里可以查到对应的系统调用函数是__x64_sys_lseek 2.lseek函数 由于没用过该函数,所以先去了解一下这个函数的作用: 直白的说就是 ...
- squad经验总结
啊美丽卡:M1A2 - TANKM2A3 - BLDL/M2A3M1126 - SCKMATV - RWS(电摇),ZCC(手摇)MATV(TOW) - TOW车M989 - 补给卡/运兵卡 俄军 8 ...
- raid随笔
1.raid 0 准备两个磁盘 [root@localhost ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 40G 0 disk ...
- TortoiseGit自动保存用户名和密码
在使用TortoiseGit上传时,会多次提示输入用户名和密码,采用以下方法解决 1.桌面点击右键 -> 选择TortoiseGit -> 点击settings 2.点击选择Git 3.点 ...
- Postman请求Https接口与认证
http://t.zoukankan.com/embedded-linux-p-12656769.html
- 在MDK 5中打开MDK 4工程要注意的问题1
我是生手,对于MDK的理解还很简单.以下内容是遇到的一种情况. 有一个MDK 4工程,要求顺序点亮4个LED灯,工程已经建好. 在MDK 5中打开,编译都没问题,要烧写时,提示"can no ...
- Mongodb between 时间范围
db.getCollection("Order").find({ "Supplier.ServiceCode": "CNI", " ...