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);
    }
}

Java基础学习-Collection的更多相关文章

  1. Java基础学习-Collection体系结构和迭代测试

    package Collection; import java.util.ArrayList; import java.util.Collection; import java.util.Iterat ...

  2. JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API

    森林森 一份耕耘,一份收获 博客园 首页 新随笔 联系 管理 订阅 随笔- 397  文章- 0  评论- 78  JAVA基础学习day16--集合三-Map.HashMap,TreeMap与常用A ...

  3. 尚学堂JAVA基础学习笔记

    目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...

  4. Java基础学习-- 继承 的简单总结

    代码参考:Java基础学习小记--多态 为什么要引入继承? 还是做一个媒体库,里面可以放CD,可以放DVD.如果把CD和DVD做成两个没有联系的类的话,那么在管理这个媒体库的时候,要单独做一个添加CD ...

  5. Java基础学习中一些词语和语句的使用

    在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ...

  6. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  7. 转载-java基础学习汇总

    共2页: 1 2 下一页  Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3     Java基础学习总结——Java对象的序列化和 ...

  8. java基础学习总结——开篇

    java是我学习的第一门编程语言,当初学习java基础的时候下了不少功夫,趁着这段时间找工作之际,好好整理一下以前学习java基础时记录的笔记,当作是对java基础学习的一个总结吧,将每一个java的 ...

  9. Java基础学习笔记(一)

    Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ...

随机推荐

  1. (Gorails视频)使用推广链接(params[:ref]),增加注册用户!

    用一个链接进行用户的注册推广: 我的git:   https://github.com/chentianwei411/embeddable_comments 用途:比如推广,拉朋友注册,给推广码,用这 ...

  2. p2693 Combination Lock

    深搜,注意模n.用set去重. #include <iostream> #include <cstdio> #include <cmath> #include &l ...

  3. 倒排索引(Inverted Index)

    倒排索引(Inverted Index) 倒排索引是一种索引结构,它存储了单词与单词自身在一个或多个文档中所在位置之间的映射.倒排索引通常利用关联数组实现.它拥有两种表现形式: inverted fi ...

  4. android -------- WIFI 详解

    今天简单的来聊一下安卓开发中的Wifi,一些常用的基础,主要分为两部分: 1:WiFi的信息 2:WiFi的搜索和连接 现在app大多都需要从网络上获得数据.所以访问网络是在所难免.但是在访问网络之前 ...

  5. android主流开源库

    网络框架:Volley 和 Async Volley特点:能使网络通信更快,更简单.更健壮 Get,Post网络请求及网络图像的高效率 Async:高效的网络数据请求, 解析成json 持久化cook ...

  6. 【洛谷p1012】拼数

    (今天yuezhuren大课间放我们出来了……) (另外今天回了两趟初中部) 拼数[传送门] 洛谷算法标签: (然鹅这两个学的都不好,能过真的how strange) 开始的时候没读题啊,直接暴力so ...

  7. 创建gitlab ssh 密钥

    SSH代表用于管理网络,操作系统和配置的Secure Shell或Secure Socket Shell,并且每次都不需要使用用户名和密码即可验证GitLab服务器. 您可以设置SSH密钥以提供计算机 ...

  8. 『TensorFlow』迁移学习

    完全版见github:TransforLearning 零.迁移学习 将一个领域的已经成熟的知识应用到其他的场景中称为迁移学习.用神经网络的角度来表述,就是一层层网络中每个节点的权重从一个训练好的网络 ...

  9. mybatis使用@param("xxx")注解传参和不使用的区别

    public interface SystemParameterMapper { int deleteByPrimaryKey(Integer id); int insert(SystemParame ...

  10. apache benchmark并发测试工具使用

    ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试.比如nginx.tomcat.IIS等. 一.Apach ...