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

时间: 2024-09-29 20:07:56

java集合基础的相关文章

java 集合基础1 学习笔记

集合特点: 1.用于存储对象的容器. 2.集合的长度是可变的. 3.集合中不可以存储基本数据类型值. Collection接口常见方法: 1.添加 boolean add(obj); boolean addAll(Collection coll); 2.删除 boolean remove(obj); boolean removeAll(Collection coll); void clear();//清空集合 3.判断 boolean contains(obj); boolean contain

黑马程序员——Java集合基础知识之Map

Map概念 要同时存储两个元素Key和Value,他们之间有映射关系,每个键不能重复,每个键只能映射到一个值. 当数据之间存在映射关系的时候,考虑使用Map集合. Map常用方法 如果添加的键原来有值,后添加的值会覆盖前面的值,并返回之前的值.put会返回来先添加的值,后添加的值会覆盖原有的值. Map tm =new TreeMap(); tm.put (key, value);//MAP没有add tm.remove (key) ;//去除一个key和对应的value,若不存在key返回nu

黑马程序员——Java集合基础知识之Collection

集合基础知识--Collection Java中集合框架由常用的Collection接口和Map接口组成,而Collection接口又有两个子接口,是List接口和Set接口,常用的集合框架由这三个类组成. List接口的功能方法 List的使用最为简单,创建集合,通过add方法添加元素,get方法获取元素,通过迭代器获取元素.List接口存放的数据无序的,添加速度快,但是查询速度慢,因为查询的时候必须遍历,每次都重头开始,效率较低.常用实现类有ArrayList,LinkedList. Lis

java集合基础篇 简单总结

昨天晚上看了编程思想4的持有对象,所以把学到看到的一些记记背背的方面给总结一下. java的容器主要分为两类,一个是实现了接口Collection的一类,还有一个是实现了Map接口的一类. 继承Collction接口的主要有List.Set接口还有Queue.Collection继承了Iterator接口,让实现类可以foreach遍历. 继承List接口的主要是ArrayList和LinkedList. ArrayList的优势在于随机访问,LinkedList的优势则是更好的插入删除,另外L

Java基础19:Java集合框架梳理

Java基础19:Java集合框架梳理 在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影! java中集合大家族的成员实在是太丰富了,有常用的ArrayList.HashMap.HashSet,也有不常用的Stack.Queue,有线程安全的Vector.HashTable,也有线程不安全的LinkedList.TreeMap等等! 上面的图展示了整个集合大家族的成员以及他们之间的关系.下面就上面的各个接口.基类做一

基础面试题(二)【java集合】

一直都觉得java集合学得糊里糊涂的,这次要学系统点了. ——fzj 集合的简单理解: java集合分为两种:1.value(存值集合) 例如 List(对付顺序的好帮手) 和 Set(注重独一无二的性质)  2.key-value(存键值对集合)  例如 Map(用Key来搜索的专家) List 是有序的,可以重复的. Set 是无序的,不可以重复的.(根据equals 和 hashcode 判断,也就是如何一个对象要存储在Set中,必须重写equals 和 hashcode方法) 详细一点:

jdk源码阅读笔记之java集合框架(一)(基础篇)

结合<jdk源码>与<thinking in java>,对java集合框架做一些简要分析(本着实用主义,精简主义,遂只会挑出个人认为是高潮的部分). 先上一张java集合框架的简图: 会从以下几个方面来进行分析: java 数组; ArrayList,LinkedList与Vector; HashMap; HashSet 关于数组array: 数组的解释是:存储固定大小的同类型元素.由于是"固定大小",所以对于未知数目的元素存储就显得力不从心,遂有了集合.

java基础知识--java集合框架

java集合框架 1.概述: 集合框架被设计成要满足以下几个目标. 该框架必须是高性能的.基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的. 该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性. 对一个集合的扩展和适应必须是简单的. 整个集合框架就围绕一组标准接口而设计.你可以直接使用这些接口的标准实现,诸如: LinkedList, HashSet, 和 TreeSet等,除此之外你也可以通过这些接口实现自己的集合. 集合框架是一个用来代表和操纵集合的统一架构.所有的集合

Java基础——Java集合(二)

Iterator接口 Iterator接口也是Java集合框架的成员,但它与Collection系列.Map系列的集合不一样:Collection系列集合.Map系列集合主要用于承装其他对象,而Iterator则主要用于遍历Collection集合中的元素,Iterator对象也被称为迭代器. Iterator接口隐藏了各种Collection实现类的底层细节,向应用程序提供遍历Collection集合元素的统一编程接口.Iterator接口里定义了如下三个方法: boolean hasNext