zoukankan      html  css  js  c++  java
  • 容器(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)+" ");
            }
            System.out.println();
            System.out.println("--------------增强for循环---------------");
            for (String str : list) {
                System.out.println(str+" ");
            }
            System.out.println();
            System.out.println("--------------迭代输出Iterator---------------");
            Iterator<String> iter = list.iterator();
            while(iter.hasNext()) {
                System.out.println(iter.next()+" ");
            }
        }
    }

         

  • 相关阅读:
    html基本标签练习
    实践1-qq邮箱主页
    html加强
    Date日期操作
    日期类的加减及java中所以日期类的操作算法大全
    讲解java异常
    关于Java并发编程的总结和思考
    删除map、list集合元素总结
    Jedis使用总结【pipeline】【分布式的id生成器】【分布式锁【watch】【multi】】【redis分布式】
    Java中的时间日期处理
  • 原文地址:https://www.cnblogs.com/bjsxt123/p/8982477.html
Copyright © 2011-2022 走看看