package Collection;

import java.util.ArrayList;
import java.util.Scanner;

/*集合类的特点:
 * 大小可变
 *
 * ArrayList实现:
 * 大小可变数组的实现
 *
 *
 * <E>这是泛型
 *       怎么用
 *         在出现<E>的地方可以使用引用遍历替换
 *
 * java.util
 * 类 ArrayList<E>
 * 从类 java.util.AbstractList 继承的方法
 * 从类 java.util.AbstractCollection 继承的方法
 * 从类 java.lang.Object 继承的方法
 * 从接口 java.util.List 继承的方法

  构造方法:
  ArrayList()
   构造一个初始容量为 10 的空列表。
  ArrayList(Collection<? extends E> c)
   构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。
  ArrayList(int initialCapacity)
    构造一个具有指定初始容量的空列表。

   方法:
     boolean add(E e)
                 将指定的元素添加到此列表的尾部。
     void add(int index, E element)
              将指定的元素插入此列表中的指定位置。
     boolean addAll(Collection<? extends E> c)
              按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的尾部。
     boolean addAll(int index, Collection<? extends E> c)
              从指定的位置开始,将指定 collection 中的所有元素插入到此列表中。
     void clear()
              移除此列表中的所有元素。
     Object clone()
              返回此 ArrayList 实例的浅表副本。
     boolean contains(Object o)
              如果此列表中包含指定的元素,则返回 true。
     void ensureCapacity(int minCapacity)
              如有必要,增加此 ArrayList 实例的容量,以确保它至少能够容纳最小容量参数所指定的元素数。
     E get(int index)
              返回此列表中指定位置上的元素。
     int indexOf(Object o)
              返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回 -1。
     boolean isEmpty()
              如果此列表中没有元素,则返回 true
     int lastIndexOf(Object o)
              返回此列表中最后一次出现的指定元素的索引,或如果此列表不包含索引,则返回 -1。
     E remove(int index)
              移除此列表中指定位置上的元素。
     boolean remove(Object o)
              移除此列表中首次出现的指定元素(如果存在)。
    protected  void removeRange(int fromIndex, int toIndex)
              移除列表中索引在 fromIndex(包括)和 toIndex(不包括)之间的所有元素。
     E set(int index, E element)
              用指定的元素替代此列表中指定位置上的元素。
     int size()
              返回此列表中的元素数。
     Object[] toArray()
              按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。
    <T> T[]
     toArray(T[] a)
              按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
     void trimToSize()
              将此 ArrayList 实例的容量调整为列表的当前大小。 

 */
public class Array_list {
    public static void main(String[] args) {
        ArrayList<String> array=new ArrayList<String>();
        array.add("Demo");
        /*add();*/
        /*get(array);*/
        /*array.size();获取list中元素长度(个数)*/
        /*remove(array);*/
        /*数组的遍历 size get traverse(array) 同时配合实现*/
        /*test1():
         *         给定一个字符串数组:{"zsf","syq","zwj","ylt","zcs","msg"}
         *         将元素添加到集合,并且打印出来*/

    }

    public static void test1() {
        String [] a={"zsf","syq","zwj","ylt","zcs","msg"};
        ArrayList<String> arraylist=new ArrayList<String>();
        for (int i = 0; i < a.length; i++) {
            arraylist.add(a[i]);
        }
        for (int i = 0; i < arraylist.size(); i++) {
            String s=arraylist.get(i);
            System.out.println(s);
        }
    }

    public static void traverse(ArrayList<String> array) {
        array.add("name");

        for (int i = 0; i < array.size(); i++) {
            String s=array.get(i);
            System.out.println(s);
        }
    }

    public static void remove(ArrayList<String> array) {
        System.out.println(array.remove("Demo"));/*返回是否成功删除元素*/
        /*删除指定元素*/
        array.add("Demo");
        /*删除指定索引元素*/
        System.out.println(array);
        System.out.println(array.remove(0));/*返回删除的元素*/
        System.out.println(array);
    }

    public static void get(ArrayList<String> array) {
        array.add("xiaobai");
        System.out.println(array.get(0));
    }

    public static void add(ArrayList<String> array) {
        /*添加元素
         * boolean add(E e)
                   将指定的元素添加到此列表的尾部。
            void add(int index, E element)
                将指定的元素插入此列表中的指定位置。
        */
        System.out.println("array:"+array);
        array.add("xiaobai");
        System.out.println("array:"+array);
        array.add(0, "hello");
        System.out.println("array:"+array);
        array.add(0, "hi");
        System.out.println("array:"+array);
    }
}

最新文章

  1. C# Mvc中文件下载
  2. Michael Schatz - 序列比对课程
  3. phpexcel操作
  4. 快速幂 fast_exp
  5. 转:C#中String类的几个方法(IndexOf、LastIndexOf、Substring)
  6. 【转】Android M新控件之FloatingActionButton,TextInputLayout,Snackbar,TabLayout的使用
  7. 玩转iOS开发 - 多线程开发
  8. UESTC_温泉旅店 CDOJ 878
  9. 达内TTS6.0课件oop_day01
  10. 一个包含所有c++的头文件的头文件
  11. CareerCup Chapter 4 Trees and Graphs
  12. 事件的preventDefault方法
  13. mongodb聚合的使用
  14. Spring Cloud Eureka 常用配置详解,建议收藏!
  15. swust oj 1010
  16. python if not
  17. Matconvnet 的一些记录
  18. SpringMVC中的Model和ModelAndView的区别
  19. bzoj4558: [JLoi2016]方
  20. 撩课-Web架构师养成系列(第二篇)-async

热门文章

  1. 安装redisPHP扩展
  2. 树莓派 CSI摄像头 No data received from sensor. Check all connections, including the Sunny one on the camera board
  3. 动态改变Listview的item背景颜色和item中字体的颜色
  4. 根据科目计算父科目ID,并递归累计求父科目的金额
  5. 网络编程socket方法
  6. CP-ABE的使用
  7. 《高性能SQL调优精要与案例解析》一书谈主流关系库SQL调优(SQL TUNING或SQL优化)核心机制之——索引(index)
  8. 浅谈XXE漏洞攻击与防御——本质上就是注入,盗取数据用
  9. Chrome使用的plugin
  10. suffix word cy dom faction ful fold form out1