一、数组
特点
- 一旦初始化以后,其长度就不可以修改
- 数组操作添加,删除,插入非常不便,效率不高
- 存储数据: 有序、可重复
- 元素必须为同一种类型
初始化
1.动态初始化
数据类型 [ ] 数组名称 = new 数据类型[数组长度]
2.静态初始化
数据类型 [ ] 数组名称 = new 数据类型[ ]{元素1,元素2,元素3…}
3.静态初始化省略格式
数据类型 [ ] 数组名称 = {元素1,元素2,元素3…}
代码举例说明
//1.动态初始化
String[] strs = new String[5];
strs[0] = "0000";
strs[1] = "1111";
//2.静态初始化
String[] strs = new String[]{"000","111","222"};
String[] strs = {"000","111","222"};
//3.至于数据中有什么方法?
//在ide中试一下就知道了,如
strs.length
方法中数组
方法中参数,对于个数未知的,0或者多个的情况下,可以使用数组…的方式表达
public void list(Object... props) {
}
public void list(Integer... props) {
}
二、集合Collection
一个人,就是基本数据类型或者一个对象
多个人,就是集体,家庭,集合喽
本章只列出常用的几个集合,你要纠结搞研究,搞深奥,请移步度娘哦
1. List集合
List是Collection最常用的子接口,允许保存重复元素,同时List接口对Collection接口方法进行扩充。
1.1 ArrayList子类
ArrayList子类是在使用List接口最常用的一个子类,允许重复,有序,继承了 AbstractList 并实现了 List 接口。
//1.初始化(记住就行)
List<E> list = new ArrayList<E>();
//说明:E为泛型,其实就是不同的对象
//2.添加元素
list.add(E1);
list.add(E2);
//3.循环输出
for(int i=0;i<list.size();i++) {
String item = list.get(i);
}
for (String item : strs) {
System.out.println("item=" + item);
}
//4.修改元素与删除元素
strs.set(0,"112233");
strs.remove(0);
2. Set集合
Set跟List一样,是一个接口,不允许重复,多用于排重操作。
2.1 HashSet子类
HashSet是Set接口较为常见的子类,不允许重复 + 无序
Set<String> all = new HashSet<String>();
all.add("leanboot");
all.add("Java");
all.add("Java");
all.add("Hello World");
System.out.println(all.size());//输出3
2.2 TreeSet子类
HashSet是Set接口较为常见的子类,不允许重复 + 有序
三、Arrays类
Arrays类位于 java.util 包中,主要包含了操纵数组的各种静态static
方法。
1. sort排序
提供对数组的升序排序操作,操作的数组类型包括:int[] char[] long[] float[]等数值行数组
int[] nums = {2,5,0,4,1,-10};
//1.升序全部排序
Arrays.sort(nums);
for(int i : nums) {
System.out.println(i);
}
//输出:-10 0 1 2 4 5
//2.还有类型sort(nums,0,4)这些分区间排序的,自己可以尝试一下
2. fill填充
为数组或者数组部分,填充相同的值
int[] nums = {2,3,0,4,1,-1};
Arrays.fill(nums, 1);
for(int i :nums){
System.out.print(i);
}
//之前:2 3 0 4 1 -1
//结果:1 1 1 1 1 1
//还有类型fill(nums,0,4)这些分区间填充的,自己可以尝试一下