又是一段时间没有写Java的实例了,发现忘的特别快,不写不行~~~
- 在数组中查找指定的元素,实例如下:
1.1 如果不使用ArrayList去实现:
public class TorrowTestDemo {
//在数组中查找指定元素
public static void main(String[] args){
//定义一个数组
String[] args1 = {"Hello","World!","Cool","Today"};
//查找数组中是否包含 "Cool"
for (int i = 0; i < args1.length; i++) {
if (args1[i] == "Cool"){
System.out.println("数组中的第" + i + "元素为 Cool");
}else {
//System.out.println("数组不包含 Cool");
}
}
}
}
运行结果为: 数组中的第2元素为 Cool
1.2 如果使用ArrayList去实现:
ArrayList arrayList = new ArrayList();
arrayList.add("China");
arrayList.add("USA");
arrayList.add("India");
arrayList.add("Russia");
boolean m;
m = arrayList.contains("India");
System.out.println(m);
运行结果为: true
这里我们还需要注意一点的是,ArrayList在添加数组元素时,如果没有指定数组下标,就是按照顺序添加;如果指定了数组下标,就按照数组下标进行添加数组元素,如下例子:
ArrayList al = new ArrayList();
al.add(0,"A");
al.add(1,"B");
al.add(2,"C");
al.add(3,"D");
al.add(4,"E");
System.out.println(al);
首先,可以看到,ArrayList是可以直接打印的,而普通的数组打印显示的是地址信息,如[Ljava.lang.String;@61bbe9ba 我们看下结果:
[A, B, C, D, E] 如果我们不按照顺序,先添加第6个元素,再添加第5个元素会出现什么情况呢?我们来看下:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 6, Size: 5
at java.util.ArrayList.rangeCheckForAdd(ArrayList.java:665)
at java.util.ArrayList.add(ArrayList.java:477)
at WorkStudy.TorrowTestDemo.main(TorrowTestDemo.java:37)
我们来修改下,还是按照正常顺序:
ArrayList al = new ArrayList();
al.add(0,"A");
al.add(1,"B");
al.add(2,"C");
al.add(3,"D");
al.add(4,"E");
System.out.println(al);
al.add(5,"F");
al.add(6,"G");
System.out.println(al);
来看下结果:
[A, B, C, D, E, F, G] 正常,perfect! - 来看下数组填充 可以使用 Arrays.fill方法来填充数组(普通数组可以直接使用赋值方法)
class TomorrowTest{
public static void main(String[] args){
//使用Arrays.fill方法来向数组中填充数据
int[] nums = new int[5]; //数组中有5个元素
int num = 100;
Arrays.fill(nums,num); //将数组中的每个元组都填充为100
for (int num1:nums
) {
System.out.println(num);
}
//从数组下标增加不同的数
int[] nums1 = new int[2];
Arrays.fill(nums1,0,2,100);
for (int num2:nums1
) {
System.out.println(num2);
}
}
}
然后我们看下结果:
100
100
100
100
100
100
100
第一个程序是有5个元素,每个元素都是100
第二个程序是有3个元素,但是赋值的时候为0到2,不算2 ,相当于[0,2)
所有只有2个元素
fill值这块还是挺有意思的,大家可以多试试