首页 > 编程知识 正文

java类加载原理(java arraylist排序)

时间:2023-05-04 12:13:34 阅读:68646 作者:3948

ArrayList一,什么是ArrayList? 二、Java ArrayList方法三、案例演示结果:

一、什么是ArrayList?

ArrayList类是一个可以动态修改的数组,与常规数组的区别在于它没有固定大小的限制,可以添加或删除元素。

ArrayList继承了AbstractList,实现了List接口。

ArrayList类位于java.util包中,必须在使用前部署。 语法格式如下:

import java.util.ArrayList; 引入ArrayList类arraylisteobjectname=new ArrayList (); 用于设置objectName数据类型的E:通用数据类型。 仅限引用数据类型。objectName:对象名称。

二、Java ArrayList方法Java ArrayList常用方法列表如下:

方法包括: add ) )在指定位置的arraylist中插入元素addAll )、将集合中的所有元素添加到arraylist中的clear )、删除arraylist中的所有元素的clone )、arraylist 从索引值获取arraylist元素indexOf (,并返回arraylist元素的索引值removeAll ),说明如何确定元素是否位于arraylist中。 删除指定集合的arraylist中存在的所有元素。 remove )删除的arraylist的单个元素size )返回arraylist的元素数ize,以确定arraylist是否为空的subList ()。 arraylist的元素集) )替换索引为arraylist指定的元素sort )并对arraylist元素进行排序。 toArray ) )是阵列阵列toString ) )。 如果设置ensureCapacity ()将arraylist转换为字符串的指定大小的arraylistlastIndexOf ),则返回指定元素在arraylist中的最后一个出现位置。 retainAll ) )保存指定集合中也存在的元素containsAll ) )。检查指定集合中的所有元素trimToSize (是否都包含在arraylist中。 根据数组中元素的数量调整arraylist的容量。 remove range (remove range )删除在arraylist中指定的索引之间存在的元素replaceAll ) (数组中的每个元素removeIf ) ) 65满足特定条件的所有arraylist元素forEach ) import java.util.Comparator;/* * * @说明: $ ArrayList案例分析* @ author : dyq * @ date : $ 2021年2月3日*/publicclassarraylistest { publicstttion arraylist容量大小nsureCapacity )方法,以调整动态数组的大小,使其可以存储六个元素。 //Java的ArrayList可以动态调整大小。 也就是说,向arraylist中添加三个或更多元素时,会自动调整大小。 a .能源容量(6); //add ) )方法包含a.add ('妈妈'); a.add ('爸爸); 答. Add (哥哥); a.add (姐姐); a.add (弟弟); 答. Add (妹妹); System.out.println ('数组的内容为' a ); System.out.println ('元素的数量为' a.size ) ); 返回arraylist中元素的数量System.out.println ('第二元素:' a.get(1) ); 访问//第二个元素。 请注意,数组的索引值从0开始。 a.set(2,'维基'; //第一个参数是索引位置,第二个是要更改的值System.out.println ('更改后的数组内容为' a ); a .替换全部(e-e.toupper case ) ); //将所有元素更改为大写System.out.println ('数组内容为) a );

a.remove(3); // 删除第四个元素 System.out.println("删除后数组内容为:"+a); /*removeIf() 方法的语法为: arraylist.removeIf(Predicate<E> filter) 注:arraylist 是 ArrayList 类的一个对象。 filter - 过滤器,判断元素是否要删除 * */ // 删除名称中带有 哥 的元素 a.removeIf(e -> e.contains("哥")); System.out.println("删除名称中带有 哥 的 ArrayList: " + a); //使用 for 来迭代数组列表中的元素 System.out.println("用for循环遍历数组为:"); for (int i = 0; i < a.size(); i++) { System.out.println(a.get(i)); } System.out.println("使用 for-each 来迭代元素"); for (String i: a) { System.out.println(i); } // 输出 clone() 方法所返回的值 System.out.println("clone() 返回值: " + a.clone()); // 检查 Wiki 是否在这个数组中 System.out.print("Wiki 是否存在于 arraylist: "); System.out.println(a.contains("Wiki")); // 查找位置索引值为 Wiki 的元素 int position1 = a.indexOf("Wiki"); System.out.println("Wiki 的索引位置: " + position1); // 注意:数组的索引值从 0 开始。 // 元素进行升序排列 a.sort(Comparator.naturalOrder()); System.out.println("升序排序后: " + a); //升序排序后: [妈妈, 妹妹, 弟弟, 爸爸] // 降序 a.sort(Comparator.reverseOrder()); System.out.println("降序排序: " + a); //降序排序: [爸爸, 弟弟, 妹妹, 妈妈] // 将ArrayList转换为String类型 /* String list = a.toString(); System.out.println("转String类型后: " + list);*/ // 获取 妈妈 最后一次出现的位置 int position = a.lastIndexOf("妈妈"); System.out.println("妈妈 最后出现的位置: " + position); //注意: Wiki已经 不在 arraylist 中若要查找 则会返回 -1 // 调整容量为3 trimToSize() 方法可以删除未分配的空间并更改 ArrayList 的容量,使其等于 ArrayList 中的元素个数。 a.trimToSize(); System.out.println("ArrayList 1 大小: " + a.size()); System.out.println("ArrayList 1: " + a); // 创建另一个动态数组 ArrayList<String> a1 = new ArrayList<>(); // 往动态数组中添加元素 //a1.add("乐观的铅笔"); a1.add("妈妈"); a1.add("妹妹"); System.out.println("ArrayList 2: " + a1); // 在a 和 a1 中保留公共的元素(取交集的意思) a1.retainAll(a); System.out.println("保留的元素: " + a1); // 检查动态数组1是否包含动态数组2 (包含与被包含的关系) boolean result1 = a.containsAll(a1); System.out.println("a 包含了a1 的所有元素: " + result1); //true // 检查数组2是否包含数组1 boolean result2 = a1.containsAll(a); System.out.println("a1 包含了 a 的所有元素: " + result2); //removeAll() 和 clear() 方法功能都是一样都。但是 clear() 方法的比 removeAll() 更常被用到,因为 clear() 比 removeAll() 更快,更高效。 // 删除所有元素 /* a.clear(); System.out.println("所有 clear() 方法后: " + a);*/ /*// 删除所有元素 a.removeAll(a); System.out.println("所有 removeAll() 方法后: " + a);*/ // 删除元素 Wiki boolean result = a.remove("Wiki"); System.out.println("Wiki 是否被删除? " + result); System.out.println("修改后数组内容为:"+a); // 检查该数组是否为空 result = a.isEmpty(); // false System.out.println("数组 a 是否为空? " + result); // 元素位置为1到3 subList() 该 subList() 方法获取索引 1 到 3(不包括 3)元素 所以返回索引为1-2的数 //System.out.println("元素位置为1到3 SubList: " + a.subList(1, 3)); // 删除从索引值1到3的元素 removeRange() 方法是受保护的,所以如果要使用需要继承 ArrayList 类,继承后我们就可以使用 Main 类来创建一个动态数组。 //removeRange() 方法不常用,我们通常可以使用 ArrayList subList() 和 ArrayList clear() 方法来实现删除元素。 // 已经不用这个了 a.removeRange(1, 3); a.subList(1, 3).clear(); System.out.println("删除后的 ArrayList: " + a); }} 结果: 数组内容为:[妈妈, 爸爸, 哥哥, 姐姐, 弟弟, 妹妹]元素数量为: 6第二个元素:爸爸修改后数组内容为:[妈妈, 爸爸, Wiki, 姐姐, 弟弟, 妹妹]数组内容为:[妈妈, 爸爸, WIKI, 姐姐, 弟弟, 妹妹]删除后数组内容为:[妈妈, 爸爸, WIKI, 弟弟, 妹妹]删除名称中带有 哥 的 ArrayList: [妈妈, 爸爸, WIKI, 弟弟, 妹妹]用for循环遍历数组为:妈妈爸爸WIKI弟弟妹妹使用 for-each 来迭代元素妈妈爸爸WIKI弟弟妹妹clone() 返回值: [妈妈, 爸爸, WIKI, 弟弟, 妹妹]Wiki 是否存在于 arraylist: falseWiki 的索引位置: -1升序排序后: [WIKI, 妈妈, 妹妹, 弟弟, 爸爸]降序排序: [爸爸, 弟弟, 妹妹, 妈妈, WIKI]妈妈 最后出现的位置: 3ArrayList 1 大小: 5ArrayList 1: [爸爸, 弟弟, 妹妹, 妈妈, WIKI]ArrayList 2: [妈妈, 妹妹]保留的元素: [妈妈, 妹妹]a 包含了a1 的所有元素: truea1 包含了 a 的所有元素: falseWiki 是否被删除? false修改后数组内容为:[爸爸, 弟弟, 妹妹, 妈妈, WIKI]数组 a 是否为空? false删除后的 ArrayList: [爸爸, 妈妈, WIKI]

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。