Java入门—集合
应用场景:
- 无法预测存储数据的数量
- 同时存储具有一对一关系的数据
- 需要进行数据的增删
- 数据重复问题
集合概览
List(列表)
- List是元素有序并且可以重复的集合,称为序列。
- List可以精确控制每个元素的插入位置,或者删除某个为止的元素。
- List两个主要实现类是ArrayList 和 LinkedList。
ArrayList 和 LinkedList 两者的数据存储方式是不同的:
- ArrayList :和数组相似,但是长度可以动态增长,在内存中的一片连续存储空间进行存储
- LinkedList:本身是链表
Set
无序、不重复集合。
HashSet
- HashSet是Set的一个重要实现类,称为哈希集。
- HashSet中元素无需并且不可重复。
- HashSet中只允许一个null元素。
- 具有良好的存取和查找性能。
HashSet底层是hashMap。
遍历HashSet需要使用迭代器方法。
Iterator(迭代器)
- Iterator接口可以以统一的方式对各种集合元素进行遍历
- hasNext()方法检测集合中是否还有下一个元素(返回ture或false)
- next() 方法返回集合中的下一个元素
import java.util.HashSet; import java.util.Set; import java.util.Iterator; public class TestIterator { public static void main(String[] args){ Set s = new HashSet(); s.add("allen"); s.add("ming"); s.add("hello"); Iterator it = s.iterator(); while (it.hasNext()){ System.out.println(it.next()); } } }
Map
- Map中的数据是以键值对(key-value)形式存储的
- key-value以Entry类型的对象实例存在
- 通过key可以快速查找value值
- 不能包含重复的建(key值必须唯一)
HashMap
- 基于哈希表的Map接口实现
- 允许使用null值和null键值
- HashMap中Entry对象时无序排列的
总结
ArrayList
- 底层由数组实现
- 元素有序且可以重复
- 可以动态增长,以满足应用程序的需求
- 元素值可以为null
HashSet
- 元素无序并且不可以重复
- 只允许一个null元素
HashMap
- 键不能重复
- 允许使用null值和null键
- HashMap中的Entry对象是无序排列的
Iterator(迭代器)
-
Iterator接口以统一的方式对各种集合元素进行遍历
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
TensorFlow安装
环境 macOS Python 版本要求 3.5+ 2.7+ Python 环境 pyenv 安装 配置阿里云镜像(就算配置镜像下载都很慢,不配置还得了,好像阿里云没有对TensorFlow做镜像) pip3 install "tensorflow>=1.7.1",否则可能找不到TensorFlow包 pip3 会自动解决包之间的依赖关系 注意 上面提到了下载很慢,这里提供了清华的tensorflow镜像,下载很快tensorflow
- 下一篇
C++命名空间
C++ 命名空间 C++为了区分多个xyz的函数的时候,需要使用命名空间进行区分。 定义命名空间 #include <iostream> using namespace std; // 第一个命名空间 namespace first_space{ void func(){ cout << "func_first_space" << endl; } } // 第二个命名空间 namespace second_space{ void func(){ cout << "second_space_func" << endl; } } int main(){ // 调用第一个命名空间的函数 first_space::func(); // 调用first_space命名空间下的func函数 // 调用第二个命名空间的函数 second_space::func(); // 调用second_space命名空间的fuc函数 return 0; } PS C:\Users\mingm\Desktop\cpp> ./a.exe func_f...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8