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. Vue.js简单的状态管理和 Vuex的几个核心概念使用。

    由于状态零散地分布在许多组件和组件之间的交互中,大型应用复杂度也经常逐渐增长. 如果多层组件嵌套使用,传递prop,和事件emit.都很不方便. 不方便对数据的修改进行历史记录.影响后续的调试! 为了 ...

  2. Docker 只要一小时,零基础入门Docker(转)

    转自:https://zhuanlan.zhihu.com/p/23599229 推荐:https://hijiangtao.github.io/2018/04/17/Docker-in-Action ...

  3. vuex之单向数据流

    单向数据流 State State 用来存状态.在根实例中注册了store 后,用 this.$store.state 来访问. Getters Getters 从 state 上派生出来的状态.可以 ...

  4. 1.numpy_overview

    官网文档:https://www.numpy.org.cn/ Numpy 简介 导入numpy Numpy是Python的一个很重要的第三方库,很多其他科学计算的第三方库都是以Numpy为基础建立的. ...

  5. DP 传球问题

    洛谷P1057 传球问题 分析:经过m次传球到第i个人的方法可以由经过m-1次传球到第i个人和到第i-1个人传递得来 设dp[i][j]为经过j次传球后到达第i个人的方法数,可得到状态转移方程为: d ...

  6. DVWA--XSS解题过程

    XSS概念:通常指黑客通过HTML注入纂改了网页,插入恶意脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击. XSS有三种: 反射型xss:只是简单地把用户输入的数据反射给浏览器,简单来说,黑客往 ...

  7. python-MongoDB 非关系型数据库

    一 简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库1.易用性 MongoDB是一个面向文档(document-oriented)的数据库,而不是关系型数据库.不采用关系型主要是为了获得 ...

  8. leetcode-algorithms-29 Divide Two Integers

    leetcode-algorithms-29 Divide Two Integers Given two integers dividend and divisor, divide two integ ...

  9. 部署项目到linux中报Spring MVC报异常:org.springframework.web.util.NestedServletException: Request processing failed

    @RequestMapping(value = "/security/login", method = RequestMethod.POST) public ModelAndVie ...

  10. Python日志、序列化、正则模块

    使用Python内置模块的目的:拿来别人已经写好的模块功能,直接import内置模块使用,简化程序,避免重复造轮子的过程,提示自己的开发效率: 一. loging日志模块: 1. loging模块可以 ...