public static void fun(int ... num){
//遍历
for(int i = 0; i < num.length; i++){
System.out.println(num[i]);
}
}
//通过遍历发现 num 有长度
//int ... num 相当于传入的参数 是个数组
//如果在 int ... num 之前 加其他参数
//例如: int a, int ... num
//发现也是可以的
//但是加在int ... num 之后就会出错
//所以int ... num 只能是方法参数的最后一个
// int ... num 可以接收多个参数
public static void main(String[] args){
//调用一 直接传入数组
int[] array = {1, 2, 3, 4, 5};
fun(array);
//调用二 传入多个数
fun(1, 3, 5, 7, 9);
}
集合中的删除方式
注:这个方法需要掌握
不使用迭代器
publicstaticvoidfun1() {
// 创建集合 保存 a b c d e//
ArrayList<String> aList = new ArrayList<>();
aList.add("a");
aList.add("b");
aList.add("b");
aList.add("c");
aList.add("d");
aList.add("e");
// 不使用迭代器 遍历// 如果集合中有 b 就把 b 删除for(int i = 0; i < aList.size(); i++){
if(aList.get(i).equals("b")){
//先当参数传进去 再进行自减
aList.remove(i--);
//这里的i-- 是因为当你删除一个b的时候//你的指针会只在 1 这个位置//但是这个时候第一个b被删除了//后面的值都补上来//第二个b的角标就变成1//但是循环会++//所以指针就会指向角标为2的地方//也就是c//这时重复的这个b就不会被删除//所以需要-- 将指针向前一步
}
}
}
使用迭代器删除
publicstaticvoidfun2() {
//迭代器删除// 创建集合 保存 a b c d e
ArrayList<String> aList = new ArrayList<>();
aList.add("a");
aList.add("b");
aList.add("b");
aList.add("c");
aList.add("d");
aList.add("e");
// 获取迭代器
ListIterator<String> listIterator = aList.listIterator();
while(listIterator.hasNext()){
String next = listIterator.next();
if(next.equals("b")){
//使用迭代器删除
listIterator.remove();
}
}
System.out.println(aList);
}
快速遍历
//fun1();//fun2();// 创建集合 保存 a b c d e
ArrayList<String> aList = new ArrayList<>();
aList.add("a");
aList.add("b");
aList.add("b");
aList.add("c");
aList.add("d");
aList.add("e");
// 增强for循环便令 底层是使用迭代器遍历的// 增强for循环 只能 用来 遍历 也叫 快速遍历// 双层遍历的时候 使用的比较多for (String string : aList) {
System.out.println(string);
}
}
Day.18