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 ...
随机推荐
- LeetCode——17. Letter Combinations of a Phone Number
一.题目链接: https://leetcode.com/problems/letter-combinations-of-a-phone-number/ 二.题目大意: 给定一段数字字符串,其中每个数 ...
- LAB1 partII
PartII 实现单词统计 实现 main/wc.go 两个函数 mapF() . reduceF() 单词是任意字母连续序列, 由unicode.IsLetter 决定字母 测试数据 pg-*. ...
- android 版本号大小比较
https://www.jianshu.com/p/ee1990270ee1 网上找了很多方法都不太靠谱,有问题,自己改了改,亲试可以 大家都知道,版本号一般由以下几部分组成: 1. 主版本号 2. ...
- 初次使用Windbg检查C#程序内存
1. 下载windbg并安装. 我下载的是 Windbg 6.12.注意,windbg分32位和64位,由分析环境的位数决定.我这里安装的是32位的.安装过程很简单,一路next就可以. 2. 准备被 ...
- lucene搜索之高级查询
使用Query子类查询 MatchAllDocsQuery TermQuery NumericRangeQuery BooleanQuery 使用QueryParser QueryParser Mul ...
- 初识Velocity
哇,好长时间没有写文章啦~ 楼主最近在工作中认识了一个叫做Velocity的java的模板引擎,小白的我去网上看了一下,应用还蛮多的,然而我目前接触到的只是用于基于模板生成这块的知识,想写个文章记下, ...
- docker容器的常用操作
创建容器 [root@mydocker ~]# docker create --name test_create -ti ubuntu 1d13990eea0d3f282a0f7d5589f40e49 ...
- 编译在docker alpine中可用的go程序
get docker image docker pull golang build docker run -it --rm -v `pwd`:/root/src -w /root/src golang ...
- win10环境下适应pip安装autobahn提示认证失败的问题
工作需要看一下websocket的东西,然后使用autobahn三方,但是使用pip install安装怎么也安装不上,问了很多网站,都说的升级pip,可是每一个鸡巴管用的,不过还是谢谢他们,现在我只 ...
- QVector也是隐式数据共享的
Behind the scenes, QString uses implicit sharing (copy-on-write) to reduce memory usage and to avoid ...