短实习---Java集合(基础知识)

重点知识:

1.Java中的集合类

2.Collection接口

①Set接口及实现类

②List接口及实现类

③集合的遍历

3.Collections类

4.Map接口

①Map接口及实现类

②相关实现类的比较

5.泛型的使用

一、Java中的集合类

Java中集合框架层次结构


二、Collection接口

1.一组称为元素的对象。一个Collection中可以放不同类型的数据。Collection接口是Set接口和List接口的父类。



   

2.List接口--无序可重复,不唯一

①Collection的子接口,用来包含一组有序有重复的对象

②List中的元素都对应一个整数型的序号,记载其在容器中的位置,可以根据序号存取容器中的元素

③List有两种主要的集合实现类:ArrayList、LinkedList

   是数据结构中链表的java实现。相对于List来说,LinkedList最主要的功能方面的增强是可以在List的开头和尾部添加、删除、取得元素;直接提供了这些方法的实现。所以它可以方便的实现我们数据结构中常见的Stack(栈)、queue(队列)等

(1)ArrayList是线性顺序存储的,是一种线性表。它的特性和数组很接近,区别是:数组大小是不变的,Array List的大小是可以动态改变的

(2)ArrayList的构造方法:

    ArrayList 变量名=new ArrayList();

    ArrayList 变量名=new ArrayList(int capacity);

    ArrayList 变量名=new ArrayList(Collection c);

(3)LinkedList的构造方法

    LinkedList 变量名=new LinkedList();

    LinkedList 变量名=new LinkedList(Collection c);

(4)List接口的常见实现类

 

3.Set接口--无序不重复,唯一

①Set接口是Collection的子接口;用来包含一组无序不重复的对象

    无序--是指元素存入顺序和集合内存储的顺序不同

    无重复--两个对象e1和e2,如果e1.equals(e2)返回true,则认为e1和e2重复

三、Collections类

1.Collections类是类似于Arrays类的公用工具类,它提供了一些static方法供集合类使用或操作集合类

2.Collections类中的方法



3.Iterator接口


四、Map接口

1.Map内存储的是键/值对这样以成对的对象组(可以把一组对象当成一个元素),通过“键”对象来查询“值”对象

2.Map是不同于Collection的另外一种集合接口

3.Map中,Key值是唯一的(不能重复),而key对象是与value对象关联在一起的

4.Map接口有两个实现:

   HashMap—key/value对是按照Hash算法存储的

   TreeMap—key/value对是排序(按key排序)存储的


5.Map接口中的方法


五、泛型的使用

1.泛型经常被称为参数化类型,它能够像方法一样接受不同类型的参数

2.定义方式

ArrayList<E> 变量名;

其中,E是变量类型 

例:ArrayList<String> arr;

       arr=new ArrayList<String>();

       HashMap<integer,String> hm=new HashMap<Integer,String>();

3.集合在使用上的问题

①集合中的add()方法接受的是一个Object对象的参数,在获取集合中的对象时,必须进行强制类型转换操作。

4.集合中泛型的使用

①在对象放入集合前,为其做个限制

②在获取集合中的对象时,不用进行强制类型转换

③当有不同类型的对象添加到集合中的时候,编译时就能检查出错误

六、集合类的选择

1.Set内存放的元素不允许重复,List存放的元素有一定的顺序

2.Map的应用主要在利用键/值对进行快速查询

3.ArrayList和LinkedList的区别在于随机查询性能上ArrayList要好,但LinkedList的中间元素插入与删除性能好

4.HsahSet和TreeSet的区别在于集合内元素是否排序

七、集合中的异常



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值