如果想存储多个人物信息可以使用数组实现但是采用数组存以下明显缺陷:

数组长度不变不能适应元素变化情况,若存储大于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第七章集合框架的更多相关文章

  1. Java使用实现面向对象编程:第七章集合框架的解读=>重中之重

    对于集合框架,是非常重要的知识,是程序员必须要知道的知识点. 但是我们为什么要引入集合框架呢? 我们之前用过数组存储数据,但是采用数组存储存在了很多的缺陷.而现在我们引用了集合框架,可以完全弥补了数组 ...

  2. JAVA基础第五章-集合框架Map篇

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...

  3. 第19章 集合框架(3)-Map接口

    第19章 集合框架(3)-Map接口 1.Map接口概述 Map是一种映射关系,那么什么是映射关系呢? 映射的数学解释 设A,B是两个非空集合,如果存在一个法则,使得对A中的每一个元素a,按法则f,在 ...

  4. 第18章 集合框架(2)-Set接口

    第18章 集合框架(2)-Set接口 Set是Collection子接口,模拟了数学上的集的概念 Set集合存储特点 1.不允许元素重复 2.不会记录元素的先后添加顺序 Set只包含从Collecti ...

  5. jQuery系列 第七章 jQuery框架DOM操作

    第七章 jQuery框架的选择器 jQuery框架继承和优化了JavaScript访问DOM对象的特性,我们使用jQuery框架提供的api可以更加方便的操作DOM对象. 7.1 创建DOM节点 使用 ...

  6. 已看1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。[泛型]\

    1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架.多线程(并发编程).I/O(NIO).Socket.JDBC.XML.反射等.[泛型]\1* ...

  7. “全栈2019”Java第七章:IntelliJ IDEA注释快捷键

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. JAVA基础第四章-集合框架Collection篇

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...

  9. java 面向对象编程-- 第15章 集合框架

    1.  集合特点:元素类型不同.集合长度可变.空间不固定 2.  java中对一些数据结构和算法进行了封装即集合.集合也是一种对象,用于存储.检索.操作和传输对象. 3.  JCF(Java Coll ...

随机推荐

  1. HUE安装过程中的一些坑

    1. gcc: error: krb5-config:: No such file or directory 执行安装krb5-devel yum provides krb5-config 得到提示: ...

  2. 学习笔记《Java多线程编程实战指南》二

    2.1线程属性 属性 属性类型及用途  只读属性  注意事项 编号(id) long型,标识不同线程  是  不适合用作唯一标识 名称(name) String型,区分不同线程  否  设置名称有助于 ...

  3. Rhel6.5 相关操作

    Rhel 将光盘挂载动作 操作部分1 挂载光盘 https://jingyan.baidu.com/article/e52e3615a9c19440c60c5121.html ls -l /dev | ...

  4. WinForm控件--DotNetBar--SuperGridControl

    //SuperGridControl控件初始化 private void ResetLayout(SuperGridControl SGC) { GridPanel panel = SGC.Prima ...

  5. linux Ubuntu 16.04安装 postgresql

    两次的重装系统安装数据库折磨的死去活来. 安装步骤: 1,运行  sudo apt-get update     --这个用来查找数据源 2 ,运行  apt install postgresql  ...

  6. PHP URL安全的Base64位编码

    先将内容编码成Base64结果; 将结果中的加号”+”替换成中划线“-“; 将结果中的斜杠”/”替换成下划线”_”; 将结果中尾部的“=”号全部保留; 实现 编码 function urlsafe_b ...

  7. DeprecationWarning

    当我在导入sklearn这个库的时候,程序抛出了一个丢弃警告,它的意思是在版本更新后imp库已经不用了,用importlib来代替这个库 Warning (from warnings module): ...

  8. Open CDN 2.0管控端和节点端安装

    原文:http://www.safecdn.cn/cdn/2018/12/opencdn-2-0/1076.html OpenCDN是一套快速部署CDN加速的工具,针对专门提供CDN加速服务的企业或对 ...

  9. PHP实现大转盘抽奖算法实例

    本文主要向大家介绍了PHP语言实现大转盘抽奖算法,通过具体的实例向大家展示,希望对大家学习PHP抽奖有所帮助. 流程:1.拼装奖项数组,2.计算概率,3.返回中奖情况 代码如下:中奖概率 ' v ' ...

  10. Python爬虫与数据分析之模块:内置模块、开源模块、自定义模块

    专栏目录: Python爬虫与数据分析之python教学视频.python源码分享,python Python爬虫与数据分析之基础教程:Python的语法.字典.元组.列表 Python爬虫与数据分析 ...