Java创建数组的三种方法和ArrayList的用法

  • Java创建数组的三种方法
    • 一.声明并赋值
    • 二.声明数组名开辟空间
    • 三.声明数组并指定元素个数
    • 四.多维数组
  • ArrayList的用法
    • 一.添加元素
    • 二.访问元素
    • 三.修改元素
    • 四.删除元素
    • 五.计算大小
    • 六.ArrayList排序
    • 七.遍历ArrayList
  • 扩展
    • 一. for each语句(增强性for循环)
    • 二.length属性
    • 三.随机数

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的用法相关推荐

  1. Java创建数组的三种方式 (以及length方法是否能获取数组中元素的个数)

    Java创建数组的三种方法 import java.util.Arrays; public class Sum { public static void main(String[] args){ in ...

  2. java 创建数组的三种方式及区别

    创建数组的三种方式:其实分为2类,一种是静态的创建,如方式一.一种是动态的创建,只不过根据写法的不同分为方式二和方式三: // 数组初始化的三种方式//1.声明,分配空间并赋值int[] arr0 = ...

  3. Java创建数组的三种方法

    ■ 第一种: int[] arr=new int[6]; arr[0] = 1; arr[1] = 2 arr[2] = 3; arr[3] = 4; arr[4] = 5; arr[5] = 6; ...

  4. Java 创建线程的三种方法比较

    在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,本文主要讲述Java 创建线程的三种方法比较, 更多Java专业知识,广州疯狂jav ...

  5. Java创建数组的几种方式

    Java创建数组的几种方式 1.一维数组的声明方式: type[] arrayName; 或 type arrayName[]; 附:推荐使用第一种格式,因为第一种格式具有更好的可读性,表示type[ ...

  6. java创建数组的两种方法

    java创建数组的两种方法 1,静态初始化 int[] array={1,2,3,4,5}; 2,动态初始化 1)先分配空间再给数组元素赋值 int[] array=new int[10]; //需指 ...

  7. java 创建线程_【80期】说出Java创建线程的三种方式及对比

    点击上方"Java面试题精选",关注公众号 面试刷图,查缺补漏 >>号外:往期面试题,10篇为一个单位归置到本公众号菜单栏->面试题,有需要的欢迎翻阅. 一.Ja ...

  8. Java 创建线程的三种方式

    一.继承Thread类创建 1.定义一个类继承Thread类,并重写Thread类的run()方法,run()方法的方法体就是线程要完成的任务,因此把run()称为线程的执行体: 2.创建该类的实例对 ...

  9. Java创建线程的三种方式

    一.继承Thread类创建线程类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务.因此把run()方法称为执行体. (2)创建Thread子类的实 ...

最新文章

  1. [C#]统计文本文件txt中的行数(快速读取)
  2. 精确微妙计时minicom 源码节选
  3. Linux 基本网络配置 实验手册
  4. 实变函数与泛函分析导论
  5. 推荐系统笔记:基于矩阵分解(总结篇)
  6. C# log4net 不输出日志
  7. 被寄予厚望的区块链 能否为游戏行业带来新的曙光?
  8. win10家庭版远程桌面连接出现问题
  9. php 判断两个数组是否相等
  10. 《计算复杂性:现代方法》——第0章 记 号 约 定 0.1 对象的字符串表示
  11. Spring集合类型依赖查找
  12. Codeforces 659F Polycarp and Hay【BFS】
  13. 运用ffmpeg生成MP4文件
  14. 重走百年晋商之路-走西口
  15. C语言char转short,将short类型转换为char类型
  16. Python将英文标点替换成空格
  17. Linux - 轻量级虚拟机工具QEMU
  18. Debian 11 Linux生产环境配置(Git2.30.2 Python3.9.2 Golang1.18 Docker20.10.4 Nginx1.21.6)
  19. 中国无线天线行业市场供需与战略研究报告
  20. 机器学习-chapter1机器学习的生态系统

热门文章

  1. springboot java基于协同过滤算法商品推荐系统vue
  2. 问题事件名称: CLR20r3 解决方法
  3. Javascript高级教程:数据属性描述符与存储属性描述符
  4. 免费PDF转Word?有这几个网站就够了
  5. 计算机企业智力测试题,本科测试题(英语智力)-大学教育计算机科学与技术类计算机软件试卷与试题.pdf...
  6. 2019CSUST选拔赛
  7. 安卓手机软件开发_同一款手机软件购买会员 苹果竟比安卓普遍贵30%
  8. VMware ACE是什么?
  9. linux 用户文件字段解释,0220自学Linux_逻辑理解用户进程权限相关+理解文件内各字段(passwd,shadow,group)(示例代码)...
  10. 极光推送jpush(简单易懂,分分钟教你搞定)