zoukankan      html  css  js  c++  java
  • ArrayList及List的常用方法

    ArrayList

    package com.aff.coll;
    import java.util.ArrayList;
    import java.util.List;
    import org.junit.Test;
    
    /*
     集合  
       Collection接口
                  |----List接口:存储有序,可以重复的元素
                                  |----ArrayList(主要的实现类,首选,底层数组实现)
                                  |----LinkedList(底层链表结构,适用于频繁的插入,删除操作)
                                  |----Vector(古老的,线程安全的,速度慢,不用了)
                  |----Set接口:存储无序的,不可重复的元素
                                  |----HashSet
                                  |----LinkedHashSet
                                  |----TreeSet
                                  
       Map接口:存储 "键-值"对的数据
                  |----HashMap
                  |----LinkedHashMap
                  |----TreeMap
                  |----HashTable(子类:properties)
     */
    public class TestList {
        // ArrayList:List的主要实现类
        /*
         List中相对于Collection,新增加的方法
        -- void add(int index,Object ele);   在指定索引位置index添加元素
        --boolean addAll(int index,Collection ele);   指定索引添加集合
        --Object get(int index);   获取指定索引的元素
        --Object remove(int index);   删除指定索引位置的元素
        --Object set(int index,Object ele);  设置指定索引位置的元素为ele
        --int indexOf(Object  obj );   返回obj在在集合中首次出现的位置,没有的话返回-1
        --int lastIndexOf(Object obj);   返回obj在集合中最后一次出现的位置,没有的话,返回-1
        --List subList(int fromIndex,int toIndex );   返回从fromIndex到toIndex结束的一个子list,
                                                      不含后面的为 "[  )" 左闭右开关系
        
        List常用的方法:增:  add(Object obj)
                                   删:  remove()
                                   改:  set(int index,Object obj)
                                   查:  get(int index)
                                   插:  add(int index,Object ele)
                                   长度:  size()
    注意:添加进List集合中的元素(或对象)所在的类一定要重写equals(方法)
    */ @Test public void testList2(){ List list = new ArrayList();
    //换成LinkedList输出结果一样的,但是底层是不一样,LinkedList底层用的是链表,
    //LinkedList list2 = new LinkedList(); list.add(
    123); list.add(456); list.add(new String("AA")); list.add(new String("CC")); list.add(456); System.out.println(list.indexOf(456));//1 System.out.println(list.lastIndexOf(456));//4 System.out.println(list.indexOf(444));//-1 没有 System.out.println(list.subList(0, 3)); //[123, 456, AA] } @Test public void testList() { List list = new ArrayList(); list.add(123); list.add(456); list.add(new String("AA")); list.add(new String("BB")); System.out.println(list);//[123, 456, AA, BB] list.add(0, 555); System.out.println(list); Object obj = list.get(1); System.out.println(obj); list.remove(0); System.out.println(list.get(0)); list.set(0, 111); System.out.println(list.get(0)); /* [123, 456, AA, BB] [555, 123, 456, AA, BB] 123 123 111 */ } }
    All that work will definitely pay off
  • 相关阅读:
    【转】PHP操作MongoDB【NoSQL】
    web前端响应式
    CSS Hack
    ES6特性
    zepto.js使用前注意
    移动端 isScroll自定义实现
    严格模式use strict
    node.js和express.js安装和使用步骤 [windows]
    JSONP理解和使用
    require.js+backbone.js基本使用
  • 原文地址:https://www.cnblogs.com/afangfang/p/12585419.html
Copyright © 2011-2022 走看看