java.util.arraylist,Java-泛型-ArrayList

 2023-09-22 阅读 21 评论 0

摘要:Java ArrayList ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。 ArrayList 类位于 java.util 包中,使用前需要引入它,语法格式如下: import java.util.ArrayList; // 引入 A

Java ArrayList

ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。

ArrayList 类位于 java.util 包中,使用前需要引入它,语法格式如下:

import java.util.ArrayList; // 引入 ArrayList 类ArrayList<E> objectName =new ArrayList<>();  // 初始化
//E: 泛型数据类型,用于设置 objectName 的数据类型,只能为引用数据类型。
//objectName: 对象名。

功能

1.添加元素
ArrayList 类提供了很多有用的方法,添加元素到 ArrayList 可以使用 add() 方法:

		ArrayList<String> name=new ArrayList<>();name.add("link");name.add("tom");name.add("lucy");System.out.println(name);

结果

[link, tom, lucy]

2.访问元素
访问 ArrayList 中的元素可以使用 get() 方法:

		String temp=name.get(1);  //访问name的第二个元素System.out.println(temp);

java.util.arraylist。结果

tom

注意:数组的索引值从 0 开始。

3.修改元素
如果要修改 ArrayList 中的元素可以使用 set() 方法:

//修改元素name.set(2, "bobo");System.out.println(name);

结果

[link, tom, bobo]

4.删除元素
如果要删除 ArrayList 中的元素可以使用 remove() 方法:

//删除元素
name.remove(2);
System.out.println(name);

5.计算大小
如果要计算 ArrayList 中的元素数量可以使用 size() 方法:

//计算大小
int size=name.size();
System.out.println("size of name:"+size);

java泛型方法调用、6.迭代数组列表
我们可以使用 for 来迭代数组列表中的元素:

//迭代数组列表
for (int i=0;i<name.size();i++)
{System.out.println(name.get(i));
}

7.排序
Collections 类也是一个非常有用对类,位于 java.util 包中,提供的 sort() 方法可以对字符或数字列表进行排序。

以下实例对字母进行排序:

	//排序Collections.sort(name);  //按字母顺序排序for (int i=0;i<name.size();i++){System.out.println(name.get(i));}

以下实例对数字进行排序:

        ArrayList<Integer> myNumbers = new ArrayList<Integer>();myNumbers.add(33);myNumbers.add(15);myNumbers.add(20);myNumbers.add(34);myNumbers.add(8);myNumbers.add(12);Collections.sort(myNumbers);  // 数字排序for (int i : myNumbers) {System.out.println(i);}

另一种排序
ArrayList.sort(),需要传入一个Compator作为比较器,由调用者来规定谁前谁后。
1.需要自己写一个类,引用Comparaor

//第二种排序方法public static class MyComparator implements Comparator<name>{@Overridepublic int compare(name o1, name o2) {// TODO 自动生成的方法存根//compare的返回值,决定谁在前面//返回-1,则o1在前,返回1贼o2在前//返回0,表示o1 o2相等,应该也是o1在前if(o1.id>o2.id)return -1;if(o2.id>o1.id)return 1;return 0;
	//第二种排序name n1=new name(123,"link");name n2=new name(456,"tom");ArrayList<name> Arrayname=new ArrayList<>();Arrayname.add(n1);Arrayname.add(n2);//System.out.println(Arrayname.get(1));class MyComparator implements Comparator<name>{@Overridepublic int compare(name o1, name o2) {// TODO 自动生成的方法存根//compare的返回值,决定谁在前面//返回-1,则o1在前,返回1贼o2在前//返回0,表示o1 o2相等,应该也是o1在前if(o1.id>o2.id)//id大的在前return -1;if(o2.id>o1.id)return 1;return 0;}}System.out.println("排序前:");for (int i=0;i<Arrayname.size();i++){System.out.println(Arrayname.get(i));}Arrayname.sort(new MyComparator());System.out.println("排序后:");for (int i=0;i<Arrayname.size();i++){System.out.println(Arrayname.get(i));}

结果

排序前:
name [id=123, name=link]
name [id=456, name=tom]
排序后:
name [id=456, name=tom]
name [id=123, name=link]

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/82332.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息