A, Array class
Array class provides methods to dynamically create and access Java arrays.
Array
Allow widening conversions during a get or set operation, but if a narrowing conversion occurs is thrown IllegalArgumentException
.
Example: The following is an array of objects
public class Demo01Array {
public static void main (String [] args) {
/ * object array: the array definition to carry objects
* Disadvantages: Once the array to determine the length, can not be modified
* * /
the Person [] Person = new new the Person [. 3 ];
the Person One = new new the Person ( "Bob", 18 is );
the Person TWO = new new the Person ( "Li", 28 );
the Person Three = new new the Person ( "Zhang", 38 is );
Person [ 0] = One; // address value
person [1] = two; // address values
Person [2] = Three; // address value
System.out.println (Person [0 ] .getName ());
System.out.println (Person [ 0 ] .getAge ());
}
}
Use the Person class
public class Person {
//属性
private String name;
private int age;
//方法
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Two, ArrayList class
1. Adding an element to ArrayList using add () method
import java.util.ArrayList;
public class Demo02ArrayList {
public static void main(String[] args) {
//创建了一个ArrayList集合,集合的名称是list,类型为String
//备注:从JDK1.7+右边的尖括号可以不写类型,但是尖括号必须有
ArrayList<String> list = new ArrayList<String>();
//向集合中添加数据,使用add()方法
list.add("小明");
list.add("小李");
list.add("小张");
System.out.println(list);
}
}
数组一旦确定,长度不可改变
但是ArrayList类长度是可以变化的,使用add()方法进行添加元素
注意事项:对于ArrayList集合来说,打印的不是地址值,而是内容
如果内容为空,则打印的结果是中括号[]
2.ArrayList中常用的方法
public boolean add(E e):向集合中添加元素,元素类型与泛型一致
public E get(int index):从集合中获取元素,参数是索引编号,返回值是对应位置的元素
public E remove(int index):从集合中删除元素,参数是索引编号,返回值是被删除的元素
public int size():返回集合的长度
import java.util.ArrayList;
public class Demo03ArrayListMethod {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
//向集合中添加元素
list.add("安徽");
list.add("河北");
list.add("河南");
System.out.println(list);
//从集合中获取元素
System.out.println(list.get(1));
//从集合中删除元素
System.out.println(list.remove(2));
System.out.println("删除后的集合:"+list);
}
}
3.对ArrayList进行遍历
import java.util.ArrayList;
public class Demo04ArrayListEach {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("小明");
list.add("小李");
list.add("小张");
//对集合进行遍历
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
4.ArrayList中的泛型
集合的泛型只能是引用类型
如果想要使用基本数据类型,则需要将其转换为对应的包装类
基本数据类型 包装类
byte Byte
short Short
int Integer 【特殊】
long Long
float Float
double Double
char Character 【特殊】
boolean Boolean
从JDK1.5开始可以自动实现装箱和拆箱
自动装箱:基本数据类型 --> 引用类型
自动拆箱: 引用类型 --> 基本数据类型
public class Demo05ArrayListBasic {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(100);
list.add(200);
list.add(300);
System.out.println(list.get(0));
}
}
三、Arrays类
Arrays是一个与数组有关的类,提供了大量的静态方法来操作数组。
public static String toString(数组):将数组转换为字符串,默认格式为[元素1,元素2,元素3...]
public static void sort(数组):对参数数组按照升序(从小到大)进行排序
注意事项:
①如果对数字进行排序,则是按照数字的大小的顺序进行排序
②如果对字符串进行排序,则是按照字母的先后的顺序进行排序
import java.util.Arrays;
public class Demo01Arrays {
public static void main(String[] args) {
//将数组转换为字符串
int[] arr1 = {1,2,3};
String str = Arrays.toString(arr1);
System.out.println("(1)将数组转换为字符串:"+str);
//对整型数组进行排序
int[] arr2 = {45,21,2,24,35,26};
Arrays.sort(arr2);
System.out.println("(2)对数组进行排序:"+Arrays.toString(arr2));
//对字符串数组进行排序
String[] str1 = {"abc","bcd","cde"};
Arrays.sort(str1);
System.out.println("(3)对字符串数组进行排序:"+Arrays.toString(str1));
}
}
小练习:对给定的字符串,按照升序排序并进行倒序打印
public class Demo02ArraysPractise {
public static void main(String[] args) {
String str = "123daeffcsgrduirjr7tadwQG";
//将字符串转换为数组
char[] chars = str.toCharArray();
//按照升序排列
Arrays.sort(chars);
//将字符数组倒序排列
for (int i = chars.length - 1; i >= 0; i--) {
System.out.println(chars[i]);
}
}
}