java第七章集合框架
如果想存储多个人物信息可以使用数组实现但是采用数组存以下明显缺陷:
数组长度不变不能适应元素变化情况,若存储大于20个英雄信息则长度不够,若只存储10个则造成内存空间浪费、可用.length获取数组中的真实存储的英雄个数
数组采用内存分配连续空间存储方式,根据下标可快速获取相对应的信息,但根据英雄信息查找时效率低下进行频繁插入,删除操作时间效率低下数组不能存储引用类型(对象)
集合的好处:集合相对于数组的优势之一为长度可变,(动态)

HashMap是无序的,随机存放,允许null值(key和value都为null)
ArrayList和LinkedList遍历简单方法:for(泛型名 变量:集合变量名称)
ArrayList和LinkedList的大致区别:
ArrayList是基于动态数组的数据结构,LinkedList是基于链表的数据结构
对于随机访问get和set,ArrayList要由于LinkedList,因为LinkedList要移动指针(箭头指向)
对于新增操作LinkedList要优于ArrayList,因为ArrayList要移动数据
java中有8个包装类在java.lang包中(常用基本数据类型):Byte,Short,Intrger,Long,Float,Double,Boolean,Character
byte,short,int,long,float,double,boolean,character
课后题:
以下关于List与Set集合说法正确的是
A、List集合都可以通过下标遍历 B、Set集合一般采用迭代器遍历 C、List集合,可重复,有序
HashMap允许null键和值 HashTable不允许null键和值
在我们所学知识中,下面哪几项是接口 、java.util.Map 、java.util.Collection、java.util.List、java.util.Set
ArrayList集合的特点是:底层是数组数据结构、是线程不安全的
关于Java语言,下列描述正确的是 jdk7之前switch 不能够作用在String类型上 GC是垃圾收集器,程序员不用担心内存管理
在集合框架中,可以解决类型转换问题的是 泛型
下列关于泛型说法正确的是 下列关于泛型说法不正确的是 泛型可以避免强制类型转换 泛型是一种安全机制
iterator()方法的功能是什么 获取迭代器对象
Itetator迭代器中的hasNext()方法的作用是 判断集合中是否还有下一个元素
下列描述LinkedList集合特点正确的是 是线程不安全的
ArrayList类的底层数据结构是 数组结构
LinkedList具有的特点是 不必事先估计存储空间 插入删除不需要移动元素 所需空间与线性表长度成正比
关于HashMap的说法正确的是_ 如果存在映射关系isEmpty()方法返回false
java第七章集合框架的更多相关文章
- Java使用实现面向对象编程:第七章集合框架的解读=>重中之重
对于集合框架,是非常重要的知识,是程序员必须要知道的知识点. 但是我们为什么要引入集合框架呢? 我们之前用过数组存储数据,但是采用数组存储存在了很多的缺陷.而现在我们引用了集合框架,可以完全弥补了数组 ...
- JAVA基础第五章-集合框架Map篇
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...
- 第19章 集合框架(3)-Map接口
第19章 集合框架(3)-Map接口 1.Map接口概述 Map是一种映射关系,那么什么是映射关系呢? 映射的数学解释 设A,B是两个非空集合,如果存在一个法则,使得对A中的每一个元素a,按法则f,在 ...
- 第18章 集合框架(2)-Set接口
第18章 集合框架(2)-Set接口 Set是Collection子接口,模拟了数学上的集的概念 Set集合存储特点 1.不允许元素重复 2.不会记录元素的先后添加顺序 Set只包含从Collecti ...
- jQuery系列 第七章 jQuery框架DOM操作
第七章 jQuery框架的选择器 jQuery框架继承和优化了JavaScript访问DOM对象的特性,我们使用jQuery框架提供的api可以更加方便的操作DOM对象. 7.1 创建DOM节点 使用 ...
- 已看1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。[泛型]\
1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架.多线程(并发编程).I/O(NIO).Socket.JDBC.XML.反射等.[泛型]\1* ...
- “全栈2019”Java第七章:IntelliJ IDEA注释快捷键
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- JAVA基础第四章-集合框架Collection篇
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...
- java 面向对象编程-- 第15章 集合框架
1. 集合特点:元素类型不同.集合长度可变.空间不固定 2. java中对一些数据结构和算法进行了封装即集合.集合也是一种对象,用于存储.检索.操作和传输对象. 3. JCF(Java Coll ...
随机推荐
- 20164310Exp6 信息搜索和漏洞扫描
实践内容 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点(以自己主机为目标) (4)漏洞扫描:会扫,会看报告, ...
- Java核心-多线程-并发控制器-CountDownLatch倒数闩
1.基本概念 CountDownLatch,中文名倒数闩,jdk并发工具包中一个并发控制器,它抽象了一个常见的多线程并发场景,开发人员使用它可以写出同时兼顾线程安全性与高效率的代码. 2.抽象模型 相 ...
- windows环境 springboot+docker开发环境搭建与hello word
1,下载安装 docker toolbox 下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ docker t ...
- JDK源码中使用的设计模式
结构型模式: 适配器模式: 用来把一个接口转化成另一个接口. java.util.Arrays#asList() javax.swing.JTable(TableModel) java.io.Inpu ...
- JAVA REENTRANTLOCK、SEMAPHORE 的实现与 AQS 框架
引言 ReentrantLock是JDK提供的一个可重入互斥锁,所谓可重入就是同一个锁允许被已经获得该锁的线程重新获得.可重入锁的好处可以在递归算法中使用锁,不可重入锁则导致无法在递归算法中使用锁.因 ...
- supersocket 遇到的Failed to initialize 和 log4net用法
使用Bootstrap来通过配置启动SuperSocket的时候总是显示Failed to initialize! , 官网配置中 <superSocket> <servers&g ...
- iOS如何转换十三位的时间戳
//将十三位的时间戳转换为日期 - (NSString *)getDate:(NSString *)jsonDate { //jsonDate类似这种/Date(1447659630000)/ NSA ...
- Slf4j与log4j及log4j2的关系及使用方法
Slf4j与log4j及log4j2的关系及使用方法 slf4j slf4j仅仅是一个为Java程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如JDBC一样,只是一种规则而已,所以单独 ...
- springboot问题总结
前端使用jsp界面,但是jsp界面中引用的静态资源无论如何也加载不出来,弄一天了,哎 最后把pom文件里的jar全干掉,代码移除,就剩下登录界面,看css能不能进来,结果没问题, 然后看类里面的注解, ...
- xml模块学习
import xml.etree.ElementTree as ET tree = ET.parse("xmltest.xml") root = tree.getroot() pr ...