容器(list集合)

Posted 愤怒的码农

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了容器(list集合)相关的知识,希望对你有一定的参考价值。

--为什么使用集合而不使用数组?why

·集合和数组相似点:都可以存储多个对象,对外作为一个整体存在;

··数组的缺点:1.长度必须在初始化时指定,且固定不变;

                        2.数组采用连续存储空间,删除和添加元素效率低下;

                        3.数组无法直接保存映射关系;

Connection 接口存储一组不唯一,无序的对象;

List 接口存储一组不唯一,有序(索引顺序)的对象;

Set接口存储一组唯一,无序的对象;

Map接口存储一组键值对象,提供key到value的映射;  

                                         -----  Key 唯一,无序;  value不唯一,无序;

<List集合>---------------------------------是collection集合的子接口;

特点:有序,不唯一(可重复);

ArrayList:--在内存中分配连续的空间,实现了长度可变的数组;

                --优点:遍历元素和随机访问元素的效率表较高;

                --缺点:添加和删除需大量移动元素效率低,按照内容查询效率

LinkedList:--采用链表存储方式。

                  --缺点:遍历和随机访问元素低下。

                  -- 优点:插入、删除元素效率比较高(但是前提也是必须低效率查询)

集合当中常用到的方法:------增----删----改-----查------

1.添加的方法:add(int index,E e);    ---->在制定位置进行添加元素。

                         addAll(Collection c);---->添加全部。

2.删除的方法:remove(int index);---->根据角标位置删除元素

                         remove(Object obj);---->根据内容进行删除元素

                         removeAll(Collection c);---->删除集合

3.修改的方法:set(int index,E element);

4.查询的方法:get(int index);根据角标进行查询元素

------------------------------------

5.获取集合大小的方法---->size();

6.判断集合是否为空的方法---->isEmpty();

7.清除集合当中所有的元素的方法---->clear();

8.集合和数组之间能否转换

            集合---------->数组转换        toArray()                  <T> T[] toArray(T[] a)

迭代器输出的原理:先判断集合当中是否有元素,如果有则进行获取,反之,循环结束。

public class ArrayListTest {
    public static void main(String[] args) {
        //1.实例化List接口对象
        List<String> list = new ArrayList<String>();
        //2.添加的方法
        list.add("javaSE");
        list.add("javaEE");
        list.add("html5");
        list.add("CSS3");
        list.add("javascript");    
        //遍历集合元素
        System.out.println("---------------标准for循环---------------");
        for(int i=0;i<list.size();i++) {
            //i变量相当于角标   最大角标:list.size()-1;
            //list集合当中存在一个get(int index)
            System.out.println(list.get(i)+"\t");
        }
        System.out.println();
        System.out.println("--------------增强for循环---------------");
        for (String str : list) {
            System.out.println(str+"\t");
        }
        System.out.println();
        System.out.println("--------------迭代输出Iterator---------------");
        Iterator<String> iter = list.iterator();
        while(iter.hasNext()) {
            System.out.println(iter.next()+"\t");
        }
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

     

以上是关于容器(list集合)的主要内容,如果未能解决你的问题,请参考以下文章

Java中List集合的浅析

集合类框架_List相关知识

Java Collection接口下的“ List 集合” 与 “ Set 集合 ”

Python内置容器——列表,元组,集合

容器集合(集合的进阶,Collection,List,Set,Map,Map集合的综合使用--斗地主案列,并发修改异常,列表迭代器,Java面试中几个集合面试题)

Java集合及LIst接口