点击登录,精彩内容等着你

java快速入门系列(三):数组与集合容器,Arrays工具类解析

全栈侠客

2022-09-16
作为java重要的数据容器,每一个差不多都是每天代码必敲的,特别是数据处理,计算,容器的一些【不可重复】【排序】等特性,往往决定了我们该使用什么样的容器。 本文主要列出常用集合,够用就行,特殊场景再考虑别的

一、数组

特点

  • 一旦初始化以后,其长度就不可以修改
  • 数组操作添加,删除,插入非常不便,效率不高
  • 存储数据: 有序、可重复
  • 元素必须为同一种类型

初始化

1.动态初始化

数据类型 [ ] 数组名称 = new 数据类型[数组长度]

2.静态初始化

数据类型 [ ] 数组名称 = new 数据类型[ ]{元素1,元素2,元素3…}

3.静态初始化省略格式

数据类型 [ ] 数组名称 = {元素1,元素2,元素3…}

代码举例说明

  1. //1.动态初始化
  2. String[] strs = new String[5];
  3. strs[0] = "0000";
  4. strs[1] = "1111";
  5. //2.静态初始化
  6. String[] strs = new String[]{"000","111","222"};
  7. String[] strs = {"000","111","222"};
  8. //3.至于数据中有什么方法?
  9. //在ide中试一下就知道了,如
  10. strs.length

方法中数组

方法中参数,对于个数未知的,0或者多个的情况下,可以使用数组…的方式表达

  1. public void list(Object... props) {
  2. }
  3. public void list(Integer... props) {
  4. }

二、集合Collection

一个人,就是基本数据类型或者一个对象
多个人,就是集体,家庭,集合喽


本章只列出常用的几个集合,你要纠结搞研究,搞深奥,请移步度娘哦

java数组与集合

1. List集合

List是Collection最常用的子接口,允许保存重复元素,同时List接口对Collection接口方法进行扩充。

1.1 ArrayList子类

ArrayList子类是在使用List接口最常用的一个子类,允许重复,有序,继承了 AbstractList 并实现了 List 接口。

  1. //1.初始化(记住就行)
  2. List<E> list = new ArrayList<E>();
  3. //说明:E为泛型,其实就是不同的对象
  4. //2.添加元素
  5. list.add(E1);
  6. list.add(E2);
  7. //3.循环输出
  8. for(int i=0;i<list.size();i++) {
  9. String item = list.get(i);
  10. }
  11. for (String item : strs) {
  12. System.out.println("item=" + item);
  13. }
  14. //4.修改元素与删除元素
  15. strs.set(0,"112233");
  16. strs.remove(0);

2. Set集合

Set跟List一样,是一个接口,不允许重复,多用于排重操作。

2.1 HashSet子类

HashSet是Set接口较为常见的子类,不允许重复 + 无序

  1. Set<String> all = new HashSet<String>();
  2. all.add("leanboot");
  3. all.add("Java");
  4. all.add("Java");
  5. all.add("Hello World");
  6. System.out.println(all.size());//输出3

2.2 TreeSet子类

HashSet是Set接口较为常见的子类,不允许重复 + 有序

三、Arrays类

Arrays类位于 java.util 包中,主要包含了操纵数组的各种静态static方法。

1. sort排序

提供对数组的升序排序操作,操作的数组类型包括:int[] char[] long[] float[]等数值行数组

  1. int[] nums = {2,5,0,4,1,-10};
  2. //1.升序全部排序
  3. Arrays.sort(nums);
  4. for(int i : nums) {
  5. System.out.println(i);
  6. }
  7. //输出:-10 0 1 2 4 5
  8. //2.还有类型sort(nums,0,4)这些分区间排序的,自己可以尝试一下

2. fill填充

为数组或者数组部分,填充相同的值

  1. int[] nums = {2,3,0,4,1,-1};
  2. Arrays.fill(nums, 1);
  3. for(int i :nums){
  4. System.out.print(i);
  5. }
  6. //之前:2 3 0 4 1 -1
  7. //结果:1 1 1 1 1 1
  8. //还有类型fill(nums,0,4)这些分区间填充的,自己可以尝试一下
阅读 2408     最后编辑 2022-09-26 18:49
文章补充
评论(0) 发表新评论
  • ...暂无评论...

我是有底线的 评论与点赞5分钟更新一次
回复评论
取消关闭

请先登录