java集合基础
集合概念与作用
1现实生活中把很多事物凑在一起就是集合。java中的集合类:是一种工具,就像是容器,存储任意数量的有共同属性的对象。
2在类的内部,对数据进行组织;
简单而快速的搜索大数量的条目
有的集合借口,提供了一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关元素。
有的集合接口,提供了映射关系,可以通过关键字去快速查找到对应的唯一对象,而这个关键字是可以是任意类型。
3 Collection(List ,Queue,Set )
1)List和Queue:排列有序的可以重复的
2)Set:无序的
3)常用的是List(序列),Set(集)

ArrayList HashSet HashMap三个比较常用
List接口,有序可重复,可以精确的控制每个元素的插入位置,或删除某个位置的元素
ArrayList,数组序列,是List的一个重要实现,底层是有数组实现的。
1)对象存入集合都会变成object类型,取出时需要类型转换
2)add()添加一个值
add("位置","值")添加到指定位置(当位置的值大于当前最大值,则会出现异常(indexOutOfBoundsException))
addAll(Arrays.asList(数组));
Course[] course={new Course("2", "java"),new Course("3", "english")};
coursesToSelsct.addAll(Arrays.asList(course));
3)取得List中元素的方法
先获得List的长度,size()
然后用get();
通过迭代器遍历List
迭代器不具备存储功能,依赖于某个集合存在,不能单独存在。还有另一种方法for each()
Iterator it=coursesToSelect.Iterator()
while(it.hashNext())
{
course cr=(course)it.next();
}
for(Object obj:courseToSelect)//放入到集合中自动变成、object类型

5)修改List中的元素Set(“索引位置”,“新元素”)方法

6)删除List中的元素remove()&removeAll()
删除前先同get(“位置”)获取对应的元素,打印输出
remove((Course)courseToSelect.get("位置"))
removeAll(),其中arraysList.asList()方法是用来把数组转化为集合类型

7)泛型,往集合中添加特定的类型的对象,会在编译期间进行类型检查,可以直接指定类型获取集合元素(不需要进行类型转换)
public List<Course> course
public TestGeneric(){
this.course=new ArrayList<Course>();
}
泛型中可存入其子类型的对象实例
泛型中的限定类型不能使用基本类型。
List<int> list=new ArrayList<int>()-->错的,int是基本类型
List<Intger> list=new ArrayList<Integer>()
Set接口及其实现类--HashSet(没有类似List提供Set()方法修改数据)
1)set中没有get()方法,只能用foreach,iterator方法遍历出每一个数据,且执行两次可能得到结果的顺序不一致
2)set集合无序,不可重复 。保存的是唯一独有的一个数据对象引用,并且可以添加一个null
java集合基础的更多相关文章
- Java 集合基础详细介绍
一.Java集合框架概述 集合.数组都是对多个数据进行存储操作的结构,简称Java容器.此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt, .jpg, .avi,数据库中).Jav ...
- Java 集合基础入门,看这篇就够了
集合 1.父接口:Collection java.util.Collection 是进行单对象保存的最大父接口,即每次利用 Collection 接口都只能保存一个对象信息.定义如下: public ...
- Java 集合基础知识 List/Set/Map
一.List Set 区别 List 有序,可重复: Set 无序,不重复: 二.List Set 实现类间区别及原理 Arraylist 底层实现使用Object[],数组查询效率高 扩容机制 ...
- java集合基础篇 简单总结
昨天晚上看了编程思想4的持有对象,所以把学到看到的一些记记背背的方面给总结一下. java的容器主要分为两类,一个是实现了接口Collection的一类,还有一个是实现了Map接口的一类. 继承Col ...
- java 集合基础(适用单线程)
1.集合树状: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set │├HashSet │├TreeSet │├Linke ...
- Java基础19:Java集合框架梳理
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...
- Java Properties集合基础解析
Java Properties集合基础解析 本期学习的properties集合是项目中经常用到的操作 什么是Properties集合? java.util.Properties集合继承于Hashtab ...
- 基础篇:JAVA集合,面试专用
没啥好说的,在座的各位都是靓仔 List 数组 Vector 向量 Stack 栈 Map 映射字典 Set 集合 Queue 队列 Deque 双向队列 关注公众号,一起交流,微信搜一搜: 潜行前行 ...
- [ Java学习基础 ] Java的对象容器 -- 集合
当你有很多书时,你会考虑买一个书柜,将你的书分门别类摆放进入.使用了书柜不仅仅使房间变得整洁,也便于以后使用书时方便查找.在计算机中管理对象亦是如此,当获得多个对象后,也需要一个容器将它们管理起来,这 ...
随机推荐
- Oracle客户端工具安装
Oracle简易客户端登录工具安装 @[Database|Oracle|客户端工具] [TOC] 引言 Oracle服务的安装是一件的繁琐的事情,我们往往喜欢在本地不安装oracle数据库的方式来访问 ...
- H5缓存-Manifest
在app中更新h5页面一直有缓存问题.默认什么都不做的情况下,app有一定的空间缓存页面.一开始更新之后会马上加载,等到app缓存空间上来之后更新就无法下载了.安卓能够清理缓存空间,ios就只能卸载重 ...
- 项目架构开发:数据访问层之Repository
接上文 项目架构开发:数据访问层之Logger 本章我们继续IRepository开发,这个仓储与领域模式里边的仓储有区别,更像一个工具类,也就是有些园友说的“伪仓储”, 这个仓储只实现单表的CURD ...
- C# 输入法
C# 输入法 虽说输入法不是什么新事物,各种语言版本都有,不过在C#不常见:这就会给人一种误会:C#不能做!其实C#能不能做呢,答案是肯定的--三种方式都行:IMM.TSF以及外挂式.IMM这种就是调 ...
- npm学习总结
1.npm run [scripts name]的作用及意义: npm 局部安装的工具包不能像全局安装那样直接执行命令行,但可写成命令行执行语句,通过npm run来运行,该命令可将node_modu ...
- switch 在什么时候可以不写default
var point = (2,17) switch point { //case (var x,17): // print("x = \(x)") case (var x,v ...
- freemodbus移植讲解 ZZ
一 为什么要移植Freemodbus 为什么要移植Freemodbus,这个问题需要从两个方面来回答.第一,modbus是一个非常好的应用层协议,它很简洁也相对完善.对于还没有接触过modbus的 ...
- 部署Cloudera Management for centos 7
hadoop生态圈框架工具甚多,自己整合起来很是繁琐,特别是oozie以及hue结合来实现hive.mr.spark等定时依赖任务更是一步一个坑,为了减少踩坑,只好从apache hadoop,转向C ...
- VS2013和VS2015中MVC 区域路由匹配顺序相反
创建测试工程 分别在vs2013和vs2015中创建mvc项目,并创建First.Second.Three三个Area,每个Area下面创建一个HomeController和Index视图.修改Rou ...
- postman定义公共函数
对于postman定义公共函数,相信很多小伙伴并不是很了解,下面给大家带来了一点福利,一起来看看吧.1.判断是否超时(assertNotTimeout)