zoukankan      html  css  js  c++  java
  • java集合ArrayList

    数组可以保存多个元素,但在某些情况下无法确定到底要保存多少个元素,此时数组将不再适用,因为数组的长度不可变。

    为了保存这些数目不确定的元素,JDK中提供了一系列特殊的类,这些类可以存储任意类型的元素,并且长度可变,统称为集合。

    ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类)。在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。

    1创建集合

    导包:import java.util.ArrayList;

    创建对象:ArrayList<要存储元素的数据类型> 变量名 = new ArrayList<要存储元素的数据类型>();

     

    与其他普通的引用数据类型创建方式完全相同,但是要指定容器中存储的数据类型,

    集合中存储的元素,只能为<>括号中指定的数据类型元素

    <要存储元素的数据类型> 中的数据类型必须是引用数据类型,不能是基本数据类型

    28种基本数据类型所对应的引用数据类型表示形式

    基本数据类型

    对应的引用数据类型表示形式

    byte

    Byte

    short

    Short

    int

    Integer

    long

    Long

    float

    Float

    double

    Double

    char

    Character

    boolean

    Boolean

    他们使用的方式是一样的,只是右面的这些可以调用方法,属性,

    数据范围,除了原有的那些,还可以为null

    (这也是普通变量和对象的区别,变量不能调用方法和属性,对象可以)

    3集合中常用方法

    方法声明

    功能描述

    boolean addObject obj

    将指定元素obj追加到集合的末尾

    Object getint index

    返回集合中指定位置上的元素

    int size()

    返回集合中的元素个数

    boolean addint index,  Object obj

    将指定元素obj插入到集合中指定的位置

    Object removeint index

    从集合中删除指定index处的元素,返回该元素

    void clear()

    清空集合中所有元素

    Object setint index, Object obj

    用指定元素obj替代集合中指定位置上的元素

    说明:

    1所有类都是继承Object(以后会再讲)

    2addobj传的就是一个对象,返回值是布尔值,true表示添加成功,但这个值没什么实际意义

    3getindex传一个下标,集合里叫索引。与数组的arr[下标]相同的含义。这里注意,如果超出长度,也会报异常,叫索引越界异常

    4size()返回集合中的元素个数,(相当于数组的length属性),这样就知道了长度,就可以遍历了

    5addindex, obj这就是方法重载

    6removeindex传入下标,返回删的值

    7clear()清空

    8setindex, obj相当于修改, 传入(下标,元素),返回值是被替代的那个元素

    4集合的遍历和方法应用

    //集合的相关操作
    import java.util.ArrayList;
    class  Demo02 
    {
    	public static void main(String[] args) 
    	{
    		ArrayList<Integer> list=new ArrayList<Integer>();		
    
    		boolean flag=list.add(1);
    		System.out.println(flag); //true,表示存入成功,这个值没什么实际意义
    		
    		//添加元素
    		list.add(2);
    		list.add(5);
    
    		//获取元素
    		System.out.println(list.get(0)); 
    		System.out.println(list.get(1));
    		System.out.println(list.get(2));
    
    		//集合的长度
    		System.out.println("集合的长度是"+list.size());
    
    		System.out.println("----------");
    
    		//在集合的指定位置插入元素
    		list.add(0,8000);
    
    		//删除集合中指定的元素
    		int ele=list.remove(1);
    		System.out.println("被删除的元素为"+ele);
    
    		//替换
    		int before=list.set(0,5000);
    		System.out.println("被替换的元素为"+before);
    
    		System.out.println("----------");
    
    		//集合的遍历
    		for(int i=0;i<list.size();i++){
    			System.out.println(list.get(i));
    		}
    
    		//清空集合
    		list.clear();
    	}
    }
    

  • 相关阅读:
    Java入门第二阶段总结
    POj3017 dp+单调队列优化
    CH5701 开车旅行(倍增dp+set)
    dp优化---四边形不等式与决策单调性
    CH5E07 划分大理石(背包dp+二进制拆分)
    POJ1185 炮兵阵地(状压dp)
    CH5501 环路运输(单调栈)
    poj3585 Accumulation Degree(换根dp)
    CH5105 Cookies (线性dp)
    反射
  • 原文地址:https://www.cnblogs.com/hzhjxx/p/10029496.html
Copyright © 2011-2022 走看看