Java创建数组的三种方法和ArrayList的用法
Java创建数组的三种方法
一.声明并赋值
int[] arr = {1,2,3, …};
二.声明数组名开辟空间
int[] arr;
arr = new int[]{1,2,3, …};
三.声明数组并指定元素个数
int[] arr= new int[6];
下标最大为6,一般赋值时使用for循环。
四.多维数组
int[][] arr = {
{1,2,3},{4,5,6},{7,8,9}};
int[][] arr = new int[m][n];
ArrayList的用法
ArrayList 是 java 集合框架中比较常用的数据结构了。继承自 AbstractList,实现了 List 接口。底层基于数组实现容量大小动态变化。允许 null 的存在。同时还实现了 RandomAccess、Cloneable、Serializable 接口,所以ArrayList 是支持快速访问、复制、序列化的。
一.添加元素
ArrayList 类提供了很多有用的方法,添加元素到 ArrayList 可以使用 add() 方法:
import java.util.ArrayList;
public class RunoobTest {
public static void main(String[] args) {
ArrayList<String> list= new ArrayList<String>();
list.add("Google");
list.add("Weixin");
list.add("Douyin");
list.add("Weibo");
System.out.println(list);
}
}
二.访问元素
访问 ArrayList 中的元素可以使用 get() 方法:
import java.util.ArrayList;
public class RunoobTest {
public static void main(String[] args) {
ArrayList<String> list= new ArrayList<String>();
list.add("Google");
list.add("Weixin");
list.add("Douyin");
list.add("Weibo");
System.out.println(list.get(1)); // 访问第二个元素
}
}
ArrayList下标是从0开始的。
三.修改元素
如果要修改 ArrayList 中的元素可以使用 set() 方法:
import java.util.ArrayList;
public class RunoobTest {
public static void main(String[] args) {
ArrayList<String> list= new ArrayList<String>();
list.add("Google");
list.add("Weixin");
list.add("Douyin");
list.add("Weibo");
list.set(2, "QQ"); // 第一个参数为索引位置,第二个为要修改的值
System.out.println(list);
}
}
四.删除元素
如果要删除 ArrayList 中的元素可以使用 remove() 方法:
import java.util.ArrayList;
public class RunoobTest {
public static void main(String[] args) {
ArrayList<String> list= new ArrayList<String>();
list.add("Google");
list.add("Weixin");
list.add("Douyin");
list.add("Weibo");
list.remove(3); // 删除第四个元素
System.out.println(list);
}
}
五.计算大小
如果要计算 ArrayList 中的元素数量可以使用 size() 方法:
import java.util.ArrayList;
public class RunoobTest {
public static void main(String[] args) {
ArrayList<String> list= new ArrayList<String>();
list.add("Google");
list.add("Weixin");
list.add("Douyin");
list.add("Weibo");
System.out.println(list.size());
}
}
六.ArrayList排序
Collections 类也是一个非常有用的类,位于 java.util 包中,提供的 sort() 方法可以对字符或数字列表进行排序。
1.以下实例对字母进行排序:
import java.util.ArrayList;
import java.util.Collections; // 引入 Collections 类
public class RunoobTest {
public static void main(String[] args) {
ArrayList<String> list= new ArrayList<String>();
list.add("Google");
list.add("Weixin");
list.add("Douyin");
list.add("Weibo");
list.add("QQ");
Collections.sort(list); // 字母排序
for (String i : list) {
System.out.println(i);
}
}
}
2.以下实例对数字进行排序:
import java.util.ArrayList;
import java.util.Collections; // 引入 Collections 类
public class RunoobTest {
public static void main(String[] args) {
ArrayList<Integer> num= new ArrayList<Integer>();
num.add(33);
num.add(15);
num.add(20);
num.add(34);
num.add(8);
num.add(12);
Collections.sort(num); // 数字排序
for (int i : num) {
System.out.println(i);
}
}
}
七.遍历ArrayList
1.使用普通for循环
public static void function(){
ArrayList<String> list= new ArrayList<>();
list.add("Google");
list.add("Weixin");
list.add("Douyin");
list.add("Weibo");
list.add("QQ");
//使用size()方法获取到集合的长度
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
2.使用增强for遍历
public static void function(){
ArrayList<String> list= new ArrayList<>();
list.add("Google");
list.add("Weixin");
list.add("Douyin");
list.add("Weibo");
list.add("QQ");
for (String string : list) {
System.out.println(string);
}
}
3.使用迭代器
public static void foreach(){
ArrayList<Integer> list =new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
ListIterator<Integer>it=list.listIterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
扩展
一. for each语句(增强性for循环)
用于对数组或实现Iterator接口的列表(ArrayList、LinkedList)集合(Set)等容器对象进行遍历。
int[] arr = {1,2,3};
for(int i:arr2) {
System.out.print(i+"\n");
}
二.length属性
length属性是针对Java中的数组来说的,要求数组的长度可以用其length属性
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]);
}
三.随机数
1.Java随机数的三种生成方式
- new Random()
借助java.util.Random类来产生一个随机数发生器,也是最常用的一种,构造函数有两个,Random()和Random(long seed)。第一个就是以当前时间为默认种子,第二个是以指定的种子值进行。
import java.util.Random;
public static void main(String[] args)
{
Random r = new Random(1);
for(int i=0 ; i<5 ; i++)
{
int num= r.nextInt(100);
System.out.println(num);
}
}
在我的编译器下产生的五个数均为85 88 47 13 54 ,如果采用Random r = new Random(),产生的随机数就不同,这就是确定种子导致的结果。
- Math.random()
第二种方法返回的数值是[0.0,1.0)的double型数值,由于double类数的精度很高,可以在一定程度下看做随机数,借助(int)来进行类型转换就可以得到整数随机数。
public static void main(String[] args)
{
int max=100,min=1;
int num= (int) (Math.random()*(max-min)+min);
System.out.println(num);
}
- currentTimeMillis()
至于第三种方法虽然不常用,但是也是一种思路。方法返回从1970年1月1日0时0分0秒(这与UNIX系统有关)到现在的一个long型的毫秒数,取模之后即可得到所需范围内的随机数。
public static void main(String[] args)
{
int max=100,min=1;
long randomNum = System.currentTimeMillis();
int ran3 = (int) (randomNum%(max-min)+min);
System.out.println(ran3);
}
2.Java生成指定范围的随机数
我们观察其 Random 对象的 nextInt(int) 方法,发现这个方法将生成 0 ~ 参数之间随机取值的整数。例如(假设先有 Random rand = newRandom();,下同):
import java.util.Random;
public class Test {
public static void main(String[] args){
Random rand = new Random();
for(int i=0; i<10; i++) {
System.out.println(rand.nextInt(100) + 1);
}
}
取值为[1-100]
今天的文章Java创建数组的三种方法和ArrayList的用法分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/7721.html