Java基础学习-Collection

时间:2023-03-08 20:35:28
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);
    }
}