A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xman20 中级黑马   /  2015-3-22 09:48  /  800 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



关于集合,相比于数组,集合的操作非常方便,在增删改除之外,还可以不用定义长度,长度会自动增加。



集合的另一大好处是可以封装对象,数组的封装,只能是几类基本类型,但是数组可以封装对象。



集合中的分类,超类都是collection,后来分为List和 Set集合。常用的List集合有 ArrrayList, LinkedList, Set中常用的即为HastSet 和TreeSet.



各个集合的区别在于存储方式的不同,其中也有一个矛盾,如果要数据接口对于查找速度进行优化,就会损失增删速度,如果输入结构对于增删速度优化,就会降低查找速度,根据业务类型的不同,选择不同的适用的数组。

         比如ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询稍慢。线程不同步。



         需要活用迭代器,集合中的遍历中用的就是迭代器,对集合中的每一个元素进行抓取。迭代器的方式是取出方式,会直接访问集合中的元素。所以将迭代器通过内部类的形式来进行描述。通过容器的iterator()方法获取该内部类的对象。



         一种典型的迭代器取出方式:

class  CollectionDemo

{

         public static void main(String[] args)

         {

                  

                   method_get();

         }

         public static void method_get()

         {

                   ArrayList al = new ArrayList();



                   //1,添加元素。

                   al.add(“王丽丽");//add(Object obj);

                   al.add("张风");

                   al.add("小胖");

                   al.add("阿成");



                  



                   for(Iterator it = al.iterator(); it.hasNext() ; )

                   {

                            sop(it.next());



                   }

         }

}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马