我是靠谱客的博主 现代咖啡,最近开发中收集的这篇文章主要介绍Java中ArrayList(动态数组)常用的一些函数ArrayList相当于数组,不过它的长度是可变的,所以也称动态数组,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

ArrayList相当于数组,不过它的长度是可变的,所以也称动态数组

—————————————————————————————

测试的数据是从上往下连起来的,下面会有完整的代码

  • ArrayList相当于数组,不过它的长度是可变的,所以也称动态数组
      • 判断动态数组是否为空----isEmpty()
      • 将数据存入动态数组----add()
      • 查看数组的长度----size()
      • 在指定索引位置添加值----add() (还是它)
      • 寻找数组中是否有某个值----contains()
      • 移除数组中指定索引位置的值----remove()
      • 修改指定索引位置的值----set()
      • 获得指定索引位置的值----get()
      • 寻找动态数组中的值,并返回索引值----indexOf()
      • 清理动态数组中所有值----clear()
      • _这里再次加一个动态数组_
      • 将一个动态数组中的值全部加到另一个动态数组中----addAll();
      • 判断一个动态数组是否完全包含另一个动态数组(相当于是不是一个数组包含另一个数组)----containsAll()
      • 移除两个容器中都含有的元素(相当于移去两个数组的交集)----removeAll()
      • 取出两个动态数组中相同的部分(相当于取出交集)----removeAll()
      • 完整代码
的代码)

 List<Integer> list=new ArrayList<>();	//创建两个ArrayList类型数组
  List<Integer> list2=new ArrayList<>();
 

判断动态数组是否为空----isEmpty()

输入

System.out.println( list.isEmpty());

输出

true

将数据存入动态数组----add()

输入

list.add(10);
list.add(100);
list.add(15);
list.add(13);
System.out.println(list);

输出

[10, 100, 15, 13]

查看数组的长度----size()

输入

 System.out.println(list.size());    //返回list的长度

输出

4

在指定索引位置添加值----add() (还是它)

输入

list.add(2,18); //在索引值为2的地方插入18
System.out.println(list);

输出

[10, 100, 18, 15, 13]

寻找数组中是否有某个值----contains()

输入

 System.out.println(list.contains(100)); //寻找容器中是否有100,若有,返回true

输出

true

移除数组中指定索引位置的值----remove()

输入

list.remove(2); //除去索引值为2的值
System.out.println(list);  //上方加入的18被删除

输出

[10, 100, 15, 13]

修改指定索引位置的值----set()

list.set(2,410);        //修改索引值为2的值
System.out.println(list);

输出

[10, 100, 410, 13]

获得指定索引位置的值----get()

System.out.println(list.get(2));

输出

410

这里再次向动态数组中加入一些值,接上面的数值,此时list的值为以下输出
输入

 list.add(456);
 list.add(104);
 list.add(410);
 System.out.println(list);

输出

[10, 100, 410, 13, 456, 104, 410]

寻找动态数组中的值,并返回索引值----indexOf()

若动态数组中有该值,返回索引值,若没有,返回-1;若有多个相同的数值,则返回第一个值的索引值
[10, 100, 410, 13, 456, 104, 410] 有两个410,返回第一个410的索引
输入

  System.out.println(list.indexOf(2));		//查找数组中是否有值 为2
  System.out.println(list.indexOf(410));	//查找数组中是否有值为410

输出

-1			//未找到,返回-1
2			//找到,返回索引它的索引值2

清理动态数组中所有值----clear()

输出

 //	list.clear(); //是清除所有数据
 //这里未测试,不利于下面的测试
 

这里再次加一个动态数组

输入

 List<Integer> list2=new ArrayList<>();
        list2.add(100);
        list2.add(10);
        list2.add(1234);
        list2.add(456);
        System.out.println(list);
        System.out.println(list2);
 

输出

[10, 100, 410, 13, 456, 104, 410]
[100, 10, 1234, 456]
 

将一个动态数组中的值全部加到另一个动态数组中----addAll();

这里输出测试完之后,注释起来,下面的测试与此函数无关

 //      list.addAll(list2);       //将list2中所有元素加入到list中
//        System.out.println(list);

输出

[10, 100, 410, 13, 456, 104, 410, 100, 10, 1234, 456]

此时两个动态数组中的值为

[10, 100, 410, 13, 456, 104, 410]		//list
[100, 10, 1234, 456]							//list2

判断一个动态数组是否完全包含另一个动态数组(相当于是不是一个数组包含另一个数组)----containsAll()

 //判断list中是否包含list2中的所有元素,全部包含就返回true
 System.out.println(list.containsAll(list2));

输出

false

移除两个容器中都含有的元素(相当于移去两个数组的交集)----removeAll()

此时两个动态数组中的值为

[10, 100, 410, 13, 456, 104, 410]		//list
[100, 10, 1234, 456]							//list2

输入

list.removeAll(list2); //移除两个容器中都含有的元素
System.out.println(list);
/* 测试完后直接注释,不然会影响下一个函数的测试*/

输出

[410, 13, 104, 410]

取出两个动态数组中相同的部分(相当于取出交集)----removeAll()

此时两个动态数组中的值为

[10, 100, 410, 13, 456, 104, 410]		//list
[100, 10, 1234, 456]							//list2

输入

list.removeAll(list2); //移除两个容器中都含有的元素
System.out.println(list);

输出

[10, 100, 456]

---------------------------------这是分割线--------------------------------------------------------------------以下是完整代码-------------------------------

完整代码


import java.util.ArrayList;
import java.util.List;

public class TestArrayList {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();

        //判断list是否为空
        System.out.println(list.isEmpty());

        list.add(10);
        list.add(100);
        list.add(15);
        list.add(13);
        System.out.println(list);
        System.out.println(list.size());    //返回list的长度

        System.out.println(list.contains(100)); //寻找容器中是否有100,若有,返回true

        list.add(2, 18); //在索引值为2的地方插入18
        System.out.println(list);

        list.remove(2);
        System.out.println(list);   //除去索引值为2的值

        list.set(2, 410);        //修改索引值为2的值
        System.out.println(list);

        //得到索引值为2的值
        System.out.println(list.get(2));


        list.add(456);
        list.add(104);
        list.add(410);
        //返回值第一次出现的索引值,若找不到,返回-1
        System.out.println(list);
        System.out.println(list.indexOf(2));
        System.out.println(list.indexOf(410));

        //list.clear(); //是清除所有数据

        List<Integer> list2 = new ArrayList<>();
        list2.add(100);
        list2.add(10);
        list2.add(1234);
        list2.add(456);
        System.out.println(list);
        System.out.println(list2);

 //      list.addAll(list2);       //将list2中所有元素加入到list中
//        System.out.println(list);

        System.out.println(list.containsAll(list2));       //判断list中是否包含list2中的所有元素,全部包含就返回true

//        list.removeAll(list2); //移除两个容器中都含有的元素
//        System.out.println(list);

        list.retainAll(list2);      //取出两个容器中都含有的元素
        System.out.println(list);


    }
}


题外话:码字不易啊,累!!!!

最后

以上就是现代咖啡为你收集整理的Java中ArrayList(动态数组)常用的一些函数ArrayList相当于数组,不过它的长度是可变的,所以也称动态数组的全部内容,希望文章能够帮你解决Java中ArrayList(动态数组)常用的一些函数ArrayList相当于数组,不过它的长度是可变的,所以也称动态数组所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部