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

数组长度不变不能适应元素变化情况,若存储大于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. 理解OpenShift(7):基于 Prometheus 的集群监控

    理解OpenShift(1):网络之 Router 和 Route 理解OpenShift(2):网络之 DNS(域名服务) 理解OpenShift(3):网络之 SDN 理解OpenShift(4) ...

  2. quartz 使用问题,小坑

    1.quartz时区 ITrigger trigger1 = TriggerBuilder.Create() .WithIdentity(triggerName, group).StartNow()  ...

  3. Google SketchUp Cookbook: (Chapter 1) Making Multiple Copies

    软件环境 SketchUp Pro 2018 参考书籍 Google SketchUp Cookbook http://shop.oreilly.com/product/9780596155100.d ...

  4. DynamicEnumUtil 动态添加枚举类的枚举值

    import java.lang.reflect.AccessibleObject; import java.lang.reflect.Array; import java.lang.reflect. ...

  5. LayaAir疑难杂症之三:1.7版本click()、execCommand('copy')函数不生效

    问题描述 在使用Laya1.7引擎开发H5游戏时,引入Js原生函数click( ),模拟一次点击事件,发现无效.在使用Laya1.7引擎开发H5游戏时,引入Js原生函数execCommand('cop ...

  6. 用Itextsharp 组件导出PDF 的文档的方法

    Itextsharp 是一个很强大,开源的,轻量级的 PDF 生成组件,官方网上好像没有相应的API 说明文档,以下是在工作中使用的心得与体会,并附上源码,功能包含了pdf 的创建,table 的创建 ...

  7. python之psutil

    psutil = process and system utilities, psutil是个跨平台库,能够轻松实现获取系统运行的进程和系统利用率,包括CPU.内存.磁盘.网络等信息. Linux系统 ...

  8. python正则表达式写[强口令检测]

    关于正则表达式,如果想跟深入学习,建议您看一下<python 核心编程>(第三版)这本书,第一章的内容就是正则表达式. 关于我的学习,我在看<python编程快速上手>这本书第 ...

  9. Docker 多主机方案

    利用OpenVSwitch构建多主机Docker网络 [编者的话]当你在一台主机上成功运行Docker容器后,信心满满地打算将其扩展到多台主机时,却发现前面的尝试只相当于写了个Hello World的 ...

  10. Jquery如何序列化form表单数据为JSON对象

    jquery提供的serialize方法能够实现. $("#searchForm").serialize();但是,观察输出的信息,发现serialize()方法做的是将表单中的数 ...