java基础之集合类
一、Java集合类是什么?java集合类型主要有哪些?
首先看一张概念图,这里囊括了集合类的大部分关系及内容
集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用(reference)。
通俗地讲,集合类就是把一些对象的引用放在一起(特别是我们需要存放一些数据却不知道个数的情况下),便于我们直接从集合中使用这些引用。通常来说,集合内所包含的引用,都是具有某种特性。
集合类型主要有3种:set(集)、list(列表)和map(映射)。
二、set、list和map的区别有哪些?
用一个表格总结一下
List和Set是继承了Collection接口,List有序且允许元素重复,Set不允许元素重复。ArrayList、LinkedList和Vector是List的三个主要的实现类,HashSet和TreeSet是Set的两个主要的实现类。
Map则是与List和Set有所不同,区别就在于Map是键与值之间的关系,而其中的键我们就可以看做是一个集合。其中的键是必须唯一的,而值可以重复。
三、详细解析
1、Collection常用方法
Collection coll=new ArrayList(); Collection coll2=new ArrayList(); Object[] a = {new Integer(1)}; //单元素操作 boolean b = coll.add("123");//添加元素 boolean b1 = coll.remove("123");//删除元素 //查询操作 int i = coll.size();//返回当前集合中元素的数量 boolean b2 = coll.isEmpty();//判断集合中是否有任何元素 boolean b3 = coll.contains("123");//查找集合中是否含有对象"123" Iterator ite = coll.iterator();//返回一个迭代器,用来访问集合中的各个元素 //组操作 boolean b4 = coll.containsAll(coll2);//查找集合中是否含有集合coll2中所有元素 boolean b5 = coll.addAll(coll2);//将集合coll2中所有元素添加给该集合 coll.clear();//删除集合中所有元素 boolean b6 = coll.removeAll(coll2);//从集合中删除集合coll2中的所有元素 boolean b7 = coll.retainAll(coll2);//从集合中删除集合coll2中不包含的元素 //Collection转换为Object数组 Object[] obj = coll.toArray();//返回一个内含集合所有元素的array //返回一个内含集合所有元素的array。运行期返回的array和参数a的型别相同,需要转换为正确型别。 Object[] obj1 = coll.toArray(a);
2、List的常见用法
List普通用法:
List list = new ArrayList(); //添加元素 list.add(1); //在2处添加元素 list.add(2, 1); //添加集合 list.addAll(new ArrayList()); //在3处添加集合 list.addAll(3,new ArrayList()); //取得1处的元素 Object obj = list.get(1); //返回对象"1"第一次出现的位置,没有则为-1 int i= list.indexOf(1); //返回对象"1"最后一次出现的位置,没有则为-1 int j= list.lastIndexOf(1); //删除2位置的元素 list.remove(2); //将1处的对象改为"2" list.set(1, 2);
List特殊用法:
List list = new ArrayList(); //返回一个列表迭代器,用来访问列表中的元素 ListIterator listIterator = list.listIterator(); //返回一个列表迭代器,用来从指定位置2开始访问列表中的元素 ListIterator listIterator2 = list.listIterator(2); //从1(包含)到2(不包含)范围中各个元素的列表视图 List subList = list.subList(1, 2);
LinkedList的特殊用法:
//构建一个空的链接列表 LinkedList list = new LinkedList(); //构建一个空的链接列表,并且添加集合list的所有元素 LinkedList list1 = new LinkedList(list); //将对象1加到列表开头,addLast()加到最后 list.addFirst(1); //获得第一个元素,getLast()获得最后一个元素 Object obj = list.getFirst(); //移除第一个元素,removeLast()移除最后一个元素 list.removeFirst();
ArrayList的特殊用法:
ArrayList list = new ArrayList(); //将ArrayList对象容量增加5 list.ensureCapacity(5); //整理ArrayList对象容量为列表当前大小,程序可使用这个操作减少ArrayList对象存储空间. list.trimToSize();
java基础之集合类相关推荐
- Java基础-各种集合类的特性简介
各种集合类的特性简介 集合类概述 集合中存储什么 不同集合对应不同数据结构 集合继承结构及特性简介 Map集合继承结构及特性简介 总结: 集合类概述 什么是集合?有什么用? 数组其实就是一个集合,集合 ...
- Java基础知识——集合类
工具类:Collection和Map,两者是同一级别的 知识点: expectedModCount ArrayList:懒加载,transient,System.arraycopy() LinkedL ...
- Java工程师 Java基础面试题集合类(Day06)
1 Java中有哪些容器(集合类)? 参考答案 Java中的集合类主要由Collection和Map这两个接口派生而出,其中Collection接口又派生出三个子接口,分别是Set.List.Queu ...
- 夯实Java基础系列19:一文搞懂Java集合类框架,以及常见面试题
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- Java工程师成神之路java基础知识之集合类(二)
Java 8中Map相关的红黑树的引用背景.原理等 HashMap的容量.扩容 很多人在通过阅读源码的方式学习Java,这是个很好的方式.而JDK的源码自然是首选.在JDK的众多类中,我觉得HashM ...
- java基础语法-day31回顾集合类、I/O流
p716 回顾list集合需要掌握什么 ArrayList package com.bjpowernode.day24.review;import java.util.ArrayList; impor ...
- 简单的介绍一下怎样如何学习Java基础
在我看来,学习Java最好的方式就是通过书籍(或博客)+动手写代码,辅以视频,通过多写多练,达到熟练掌握的程度.博主曾经看过一篇文章,讲的是费曼学习法,其中讲到学习的四个步骤:选择目标.教学.纠错学习 ...
- java 多态判断非空_跳槽涨薪季面试题之java基础(一)
点击上方[全栈开发者社区]→右上角[...]→[设为星标⭐] 为迎接金九银十跳槽涨薪季,小编汇总了java精编版面试题,大概从java基础.java8特性.多线程.spring.springboot. ...
- 【转】Java基础知识整理
本博文内容参考相关博客以及<Java编程思想>整理而成,如有侵权,请联系博主. 转载请注明出处:http://www.cnblogs.com/BYRans/ PDF版下载链接:<Ja ...
最新文章
- SCSI协议与存储的发展
- 【计算理论】计算复杂性 ( 证明团问题是 NP 完全问题 )
- VTK:Filtering之LandmarkTransform
- 关联数组不能转化为JSON字符串
- 4.SharePoint的权限
- 键盘接口和七段数码管的控制实验
- oracle dplsql.bsq,Oracle PLSQL语言初级教程之过程和函数
- Java中父子类引用的理解
- arm体系结构编程-入门介绍
- DSP TMS320C5509A 控制DDS AD9854芯片进行AM-MSK调制
- 武汉公布304个可售楼盘名单,保证供应稳定市场预期(蚌埠华瑞房地产评估)
- 万字长文测评:3款口碑炸裂的BI数据分析工具,最好用的其实是……
- [Python] RSS 文字转图片并单独抓取url以文字输出
- MySQL不同隔离级别并发测试分析
- 沙奎尔·奥尼尔——盘点那些“巨人”的事①
- 解决myeclipse导入maven工程时问题:No marketplace entries found to handle maven-compiler-plugin:2.3.2
- python学习18
- 鹏程万里------HIM开发中遇到的问题
- 删除和恢复Win10文件管理器中的3D对象/音乐/视频/下载/文档等文件夹
- Vue的基本使用步骤