黑马程序员-集合

                             ---------- android培训  java培训   期待与您交流!------------

 

集合:集合就是存储对象最常用的方式,想必数组有等强大的功能。

数组与集合的区别

     1.数组虽然也可以存储对象,但长度是固定的;集合长度是可变的。
     2.数组既可以存储对象也可以存储基本数据类型,而集合只能存储对象。


集合接口位于 java.util.Collection中。

由于对象存储的需求众多,所以又分支了很多的子类,他们存储对象的数据结构不同,
在实际应用过程中,应该挑选符合需求的子类使用。

 

集合中常用的共性方法:

      add():用来往集合添加元素。
      addAll(Collection c);将c中的所有元素添加到指定集合中。

      remove(Object o):用来删除元素o.
      removeAll(Collection c);删除集合中包含c集合里面的元素

      returnAll(Collection e):与e取交集。

 

Collection 有几个常用的子类 List Set

         list 特点:元素是有序的,元素可以重复,因为该集合体系有索引,不存在重复。

                 ***以角标操作元素是ArrayList的特有方法***
                 Arraylist特有方法:
                        add(index,element);指定位置添加值。
                        set(index,element);设置指定角标的值。
                        get(index);    通过脚标获取指定位置的值。
                        subList(from,to);  截取集合中指定起始位置的值。
                        listIterator();

Set: 特点:元素是无序的,所以不可以出现重复

其中List类中又包含:

ArrayList:使用的数组结构,特点是查询快,但是增删慢相对慢,线程不同步,
LinkedList:使用的是链表数据结构,特点增删较快,查询较慢
Vector:使用时数组数据结构,线程是同步的。

 

 

iterator():迭代器接口,可以用来取出集合中的元素。由于每一个集合子类的数据结构不同,
所以取出元素的动作细节也不同,但是都用共性的内容,iterator就是这些共性内容的集合,
    具体使用方法是:
              Iterator it = 集合.iterator();    这样就可以获得这个集合的取出方式

    取出数据可以这样操作:
              for(Iterator it = 集合.iterator();it.hasNext();)
             {
                   System.out.println(it.next());
             }

set集合又包含:
HashSet
TreeSet
 
 由于Set集合不能存已有的元素,但自定义元素为了具有相同的功能,就应该重写hashCode()与equls().
 TreeSet集合可以自动排序,如果不满足需求,可以自定义比较器。

 

                                 ---------- android培训  java培训   期待与您交流!------------

                                     详情请点击:http://edu.csdn.net/

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值