我是靠谱客的博主 现代咖啡,最近开发中收集的这篇文章主要介绍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相当于数组,不过它的长度是可变的,所以也称动态数组所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复