一、可变参数

package com.shujia.lhw.day19;import java.util.Arrays;
import java.util.List;/*可变参数概述:定义方法的时候不知道该定义多少个参数格式:修饰符 返回值类型 方法名(数据类型... 变量名){}注意:这里的变量其实是一个数组如果一个方法有可变参数,并且有多个参数,那么,可变参数肯定是最后一个Arrays工具类中的一个方法public static <T> List <T> asList(T... a)*/
public class ArgsDemo {public static void main(String[] args) {//使用方法求两个数之和int a = 10;int b = 20;sum(a, b);//使用方法求三个数之和int c = 30;sum(a, b, c);//使用方法求四个数之和int d = 40;sum(a, b, c, d);sum("明旺", 90, 92, 93);//        sum(1,2,3,4,5,6,7,8,9);//数组--->List(ArrayList)集合List<String> strings = Arrays.asList("hello", "world", "java", "bigdata");for (String s : strings) {System.out.println(s);}}//同一个方法定义中,可变参数只能出现一次//public static void sum(int... ints1,int... ints2){//}//当使用可变参数定义方法的时候,有其他数据类型参与的时候,将可变参数的定义放在最后public static void sum(String name,int... ints){int sum = 0;for (int i : ints) {sum +=i;}System.out.println(name+"学生的总成绩为:"+sum);}//使用可变参数的形式定义加法的方法//注意可便参数的变量最终是一个数组的变量名//这里将来传入多个参数的时候,内部会自动将这么多个参数形成一个数组,数组名就是我们定义的intspublic static void sum(int... ints){int sum = 0;for(int i :ints){sum += i;}System.out.println(ints.length+"个数之和为:"+sum);}//    public static void sum(int a,int b,int c,int d){
//        System.out.println("四个数之和为:"+(a+b+c+d));
//    }
//    public static void sum(int a,int b, int c){
//        System.out.println("三个数之和为:"+(a+b+c));
//    }
//    public static void sum(int a,int b){
//        System.out.println("两个数之和为:"+(a+b));
//    }
}

----------------------------------------------------------------------------------------------------------------------------

二、增强for循环遍历

package com.shujia.lhw.day19;import java.util.ArrayList;
import java.util.ListIterator;/*JDK1.5之后出现的新特性:到目前为止,学过哪些知识是JDK1.5之后出现的?泛型,增强for,包装类,Scanner,枚举增强for循环概述:简化数组和Collection集合的遍历语句定义格式:for(元素数据类型 变量名 (自定义) :数组或者Collection集合){使用变量即可,该变量就是元素}好处:简化遍历*/
public class ForDemo {public static void main(String[] args) {//定义一个数组int[] arr = {1, 2, 3, 4, 5};//普通for循环遍历for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}System.out.println("使用增强for循环遍历数组:");for (int i : arr) {System.out.println(i);}System.out.println("===========================================");ArrayList<String> strings = new ArrayList<>();strings.add("hello");strings.add("world");strings.add("java");strings.add("bigdata");strings.add("hadoop");for (String string : strings) {System.out.println(string);}
//        strings = null;
//        for (String string : strings) {//NullPointerException
//            System.out.println(string);
//        }//我们应该在遍历之前判断一下是不是null
//        if(strings!=null){
//            for(String string:strings){
//                System.out.println(string);
//            }
//        }else{
//            System.out.println("该集合为:null");
//        }//其实增强for循环就是用来替代迭代器的//怎么去验证它就是来替代迭代器的呢?//使用并发修改异常验证
//        for (String s : strings) {
//            //ConcurrentModificationException
//            if ("java".equals(s)) {
//                strings.add("spark");
//            }
//        }ListIterator<String> iterator = strings.listIterator();while (iterator.hasNext()){String next = iterator.next();if("java".equals(next)){iterator.add("spark");}}System.out.println(strings);}
}

---------------------------------------------------------------------------------------------------------------------------

三、泛型通配符<?>

package com.shujia.lhw.day19;import java.util.ArrayList;/*泛型通配符<?>任意类型,如果没有明确,那么就是Object以及任意的Java类了? extends E向下限定,E及其子类? super E向上限定,E及其父类*/
public class GenericDemo1 {public static void main(String[] args) {ArrayList<Animal> list1 = new ArrayList<Animal> ();ArrayList<Dog> list2 = new ArrayList<Dog>();ArrayList<Object> list3 = new ArrayList<Object>();//泛型通配符<?>//任意类型,如果没有明确,那么就是Object以及任意的java类了ArrayList<?> list4 = new ArrayList<Animal>();ArrayList<?> list5 = new ArrayList<Dog>();ArrayList<?> list6 = new ArrayList<Object>();//? Extends E 向下限定,E及其子类ArrayList<? extends Animal> list7 = new ArrayList<Animal>();ArrayList<? extends Animal> list8 = new ArrayList<Dog>();ArrayList<? extends Animal> list9 = new ArrayList<Cat>();
//        ArrayList<? extends Animal> list10 = new ArrayList<Object>();//? super E 向上限定,E及其父类ArrayList<? super Animal> list11 = new ArrayList<Animal>();ArrayList<? super Animal> list12 = new ArrayList<Object>();
//        ArrayList<? super Animal> list13 = new ArrayList<Dog>();}
}

------------------------------------------------------------------------------------------------------------------------

四、GenericTest1

package com.shujia.lhw.day19;/*泛型类的测试*/
public class GenericTest1 {public static void main(String[] args) {//如果不加泛型,默认使Object类型
//        GenericTool1 gt1 = new GenericTool1();
//        gt1.setObj("hello");
//        gt1.setObj(20);
//        gt1.setObj(12.34);GenericTool1<String> gt2 = new GenericTool1<>();gt2.setObj("hello");
//        gt2.setObj(20);String obj = gt2.getObj();}
}

------------------------------------------------------------------------------------------------------------------------

五、GenericTest2

package com.shujia.lhw.day19;public class GenericTest2 {public static void main(String[] args) {GenericTool2 genericTool2 = new GenericTool2();genericTool2.show("hello");genericTool2.show(10);genericTool2.show(12.34);}
}

------------------------------------------------------------------------------------------------------------------------------

六、泛型接口的测试

package com.shujia.lhw.day19;
/*泛型接口的测试*/
public class GenericTest3 {public static void main(String[] args) {GenericTool3lmpl<String> stringGenericTool3 = new GenericTool3lmpl<>();stringGenericTool3.show("hello");
//        stringGenericTool3.show(20);}
}

---------------------------------------------------------------------------------------------------------------------------------

七、泛型类

package com.shujia.lhw.day19;
/*泛型类把泛型定义在类上格式:public class 类名<泛型类型1,...>注意:泛型类型必须是引用类型这里的<>里面的内容仅仅表示的是一种参数数据类型,参数类型是一种变量既然是一种变量,就要符合变量的命名规则,可以使任意符合标识符起名字规则的名字一般情况下,在定义的时候,习惯用一个大写字母表示*/
public class GenericTool1<T> {private T obj;public T getObj(){return obj;}public void setObj(T obj){this.obj = obj;}}

---------------------------------------------------------------------------------------------------------------------------------

八、泛型方法

package com.shujia.lhw.day19;
/*泛型方法把泛型定义在方法上格式:public <泛型类型> 返回类型 方法名(泛型类型)*/
public class GenericTool2 {public void show(String s){System.out.println(s);}public void show(int i){System.out.println(i);}public void show(double d){System.out.println(d);}//用泛型方法改进,将来不确定要传入什么类型的数据public <F> void show(F f){System.out.println(f);}
}

---------------------------------------------------------------------------------------------------------------------------------

九、泛型接口

package com.shujia.lhw.day19;
/*泛型接口把泛型定义在接口上格式:public interface 接口名<泛型类型1...>*/
public interface GenericTool3<W> {public void show(W w);
}

---------------------------------------------------------------------------------------------------------------------------------

十、

package com.shujia.lhw.day19;public class GenericTool3lmpl<W> implements GenericTool3<W>{@Overridepublic void show(W w){System.out.println(w);}
}

------------------------------------------------------------------------------------------------------------------------------

十一、LinkedHashSet

package com.shujia.lhw.day19;import java.util.LinkedHashSet;/*public class HashSet<E> implements Set<E>public class LinkedHashSet<E> extends HashSet<E> implements Set<E>LinkedHashSet:1、底层数据结构是哈希表和链表2、哈希表保证元素的唯一3、链表保证了元素的有序(存储和取出的顺序一致)4、线程不安全,效率高*/
public class LinkedHashSetDemo {public static void main(String[] args) {LinkedHashSet<String> set1 = new LinkedHashSet<>();//添加元素到集合set1.add("hello");set1.add("world");set1.add("java");set1.add("bigdata");set1.add("hadoop");set1.add("world");set1.add("java");set1.add("hello");set1.add("spark");set1.add("spark");set1.add("hbase");set1.add("flink");set1.add("java");set1.add("hello");//遍历for(String s : set1){System.out.println(s);}}
}

---------------------------------------------------------------------------------------------------------------------------

十二、集合的嵌套遍历

package com.shujia.lhw.day19;import java.util.ArrayList;
import java.util.Iterator;/*集合的嵌套遍历需求:目前,数加学院有十五期,十六期。每一期都有很多学生,每个学生都是一个学生对象,可以用一个集合表示一个班的学生十五期的学生:ArrayList<Student> classList15;十六期的学生:ArrayList<Student> classList16;无论是十五期还是十六期,都属于数加学院的班级数加学院本身也可以通过集合表示:ArrayList<ArrayList<Student>> shujia;这样的现象叫做集合嵌套。*/
public class ListQianTaoTest {public static void main(String[] args) {//定义一个十五期的班级集合ArrayList<Student> classList15 = new ArrayList<> ();//定义一个十六期的班级集合ArrayList<Student> classList16 = new ArrayList<> ();//定义一个数加学院的集合ArrayList<ArrayList<Student>> shujia = new ArrayList<>();//将十五期和十六期添加到shujia集合中shujia.add(classList15);shujia.add(classList16);//创建十五期的学生对象Student s1 = new Student("明旺",18);Student s2 = new Student("王宇",17);Student s3 = new Student("周家祥",16);Student s4 = new Student("张保桂",20);//创建十六期的学生对象Student s11 = new Student("小王",18);Student s12 = new Student("小李",17);Student s13 = new Student("小刘",19);Student s14 = new Student("小杨",16);//将十五期的学生对象添加到十五期集合中classList15.add(s1);classList15.add(s2);classList15.add(s3);classList15.add(s4);//将十六期的学生对象添加到十六期集合中classList16.add(s11);classList16.add(s12);classList16.add(s13);classList16.add(s14);//遍历//增强for循环遍历
//        for(ArrayList<Student> clazz : shujia){
//            for (Student s : clazz){
//                System.out.println(s);
//            }
//        }//普通for循环遍历for(int i = 0;i<shujia.size();i++){if(i==0){System.out.println("============十五期:===============");for (int j = 0;j<shujia.get(i).size();j++){Student student = shujia.get(i).get(j);System.out.println(student);}}}System.out.println("=======================================================");//迭代器遍历Iterator<ArrayList<Student>> iterator = shujia.iterator();while (iterator.hasNext()){ArrayList<Student> clazz = iterator.next();Iterator<Student> iterator1 = clazz.iterator();while (iterator1.hasNext()){Student student = iterator1.next();System.out.println(student);}}}
}
package com.shujia.lhw.day19;public class Student {private String name;private int age;public Student() {}public Student(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;}@Overridepublic String toString() {return "Student{" +"name='" + name + '\'' +", age=" + age +'}';}
}

------------------------------------------------------------------------------------------------------------------------

十三、ListTest

package com.shujia.lhw.day19;import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;/*键盘录入多个数据,以0结束,要求在控制台输出这多个数据中的最大值1、由于不知道输入多少次所以用while循环进行输入2、用集合存储数据3、toArray()4、Arrays.sort()5、取最后一个元素就是最大值*/
public class ListTest {public static void main(String[] args) {//键盘录入对象Scanner sc = new Scanner(System.in);//创建集合对象ArrayList<Integer> list = new ArrayList<>();boolean flag = true;while (flag==true){int number = sc.nextInt();if (number==0){flag=false;System.out.println("数据录入完毕");}else{list.add(number);}}//将集合转换成数组Object[] objects = list.toArray();Arrays.sort(objects);System.out.println("最大值为:"+objects[objects.length-1]);}
}

-------------------------------------------------------------------------------------------------------------------------------

十四、RandomTest

package com.shujia.lhw.day19;import java.util.ArrayList;
import java.util.Random;/*获取10个1-20之间的随机数,要求不能重复1、由于我们不确定获取随机数的次数,长度不好确定,所以我们选择集合2、随机数生成的方式:Random类:nextInt(int num):左闭右开*/
public class RandomTest {public static void main(String[] args) {//1、创建随机数对象Random random = new Random();//2、创建集合对象存储随机数ArrayList<Integer> list = new ArrayList<>();//        System.out.println(random.nextInt(20));
//        int number = random.nextInt(20) + 1;
//        System.out.println(number);//定义一个变量统计集合中是否有10个元素int count = 0;while(count<10){//生成随机数int number = random.nextInt(20) + 1;//判断集合中是否包含这个随机数if (!list.contains(number)){list.add(number);count++;}}System.out.println(list);}
}

--------------------------------------------------------------------------------------------------------------------------------

十五、Set集合

package com.shujia.lhw.day19;import java.util.HashSet;
import java.util.Set;/*Set集合:元素是唯一的,并且元素的顺序是无序的集合在Set集合中存储的元素为什么不会有重复的呢?*/
public class SetDemo1 {public static void main(String[] args) {Set<String> set1 = new HashSet<>();//向集合中添加元素set1.add("hello");set1.add("world");set1.add("java");set1.add("bigdata");set1.add("hadoop");set1.add("world");set1.add("java");set1.add("hello");set1.add("spark");set1.add("spark");set1.add("hbase");set1.add("flink");set1.add("java");set1.add("hello");//遍历for(String s : set1){System.out.println(s);}}
}

---------------------------------------------------------------------------------------------------------------------------------

package com.shujia.lhw.day19;import java.util.HashSet;
import java.util.Set;/*用Set集合存储学生对象(当学生的姓名和年龄都一样的时候,判定是同一个学生)*/
public class SetDemo2 {public static void main(String[] args) {//创建集合对象Set<Student2> student2s = new HashSet<>();//创建学生对象Student2 s1 = new Student2("明旺",18);Student2 s2 = new Student2("王宇",17);Student2 s3 = new Student2("周家祥",16);Student2 s4 = new Student2("明旺",18);//将学生对象添加到集合中student2s.add(s1);student2s.add(s2);student2s.add(s3);student2s.add(s4);//遍历for (Student2 student2 : student2s) {System.out.println(student2);}}
}
package com.shujia.lhw.day19;import java.util.Objects;public class Student2 {private String name;private int age;public Student2() {}public Student2(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;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Student2 student2 = (Student2) o;return age == student2.age && Objects.equals(name, student2.name);}@Overridepublic int hashCode() {return Objects.hash(name, age);}@Overridepublic String toString() {return "Student2{" +"name='" + name + '\'' +", age=" + age +'}';}
}

--------------------------------------------------------------------------------------------------------------------------------

十六、静态导入

package com.shujia.lhw.day19;import static com.shujia.lhw.day19.StaticClass.fun;
import static com.shujia.lhw.day19.StaticClass.show;
import static java.lang.Math.abs;
import static java.lang.Math.pow;/*静态导入:语句定义格式:import static 包名...类名.方法名;可以直接导入到方法级别注意事项:1、方法必须是静态的*/
public class StaticImportDemo {public static void main(String[] args) {//MathSystem.out.println(abs(-100));System.out.println(pow(2,3));System.out.println(Math.max(100,200));//有没有什么方法,不用写类名,直接写方法名?
//        System.out.println(abs(-200));//这时候就需要静态导入的技术System.out.println(abs(-200));System.out.println(pow(2,4));fun();//当静态导入的方法名与本类中的方法名冲突的时候,调用的是本类中的方法show("spark");//如果此时我们想使用静态导入的方法,怎么办呢?
//        StaticClass.show("flink");//将前缀路径写完整com.shujia.lhw.day19.StaticClass.show("flink");//当静态导入的方法名与本类中的方法名冲突的时候,我们发现,直接通过类名调用的方式会更加简单//所以根据实际情况,选择使用静态导入}public static void show(String s){System.out.println("这是在StaticImportDemo类中的show方法"+s);}
}
package com.shujia.lhw.day19;public class StaticClass {public static void fun(){System.out.println("数加科技,yyds");}public static void show(String s){System.out.println(s);}
}

------------------------------------------------------------------------------------------------------------------------------

十七、TreeSet

package com.shujia.lhw.day19;import java.util.TreeSet;/*TreeSet:元素唯一,元素可以按照某种规则进行排序两种排序方式:自然排序比较器排序A NavigableSet实现基于TreeMap的原件的使用其有序natural ordering或由Comparetor集合创建时提供这取决于所用的构造方法为什么会进行去重以及排序呢?怎么排序呢?看源码*/
public class TreeSetDemo1 {public static void main(String[] args) {//创建TreeSet平台TreeSet<Integer> treeSet = new TreeSet<>();treeSet.add(20);treeSet.add(18);treeSet.add(24);treeSet.add(23);treeSet.add(88);treeSet.add(16);treeSet.add(12);treeSet.add(18);treeSet.add(20);treeSet.add(23);treeSet.add(1);treeSet.add(2);//遍历for (Integer i : treeSet) {System.out.println(i);}
//        String s1 = "hello";
//        String s2 = "hello";
//        System.out.println(s1.compareTo(s2));}
}

--------------------------------------------------------------------------------------------------------------------------------

十八、TreeSetDemo2

package com.shujia.lhw.day19;import java.util.TreeSet;/*存储学生对象并遍历按照正常的写法我们一运行就报错java.lang.ClassCastException:类转换异常由于我们这里TreeSet创建的时候,使用的是无参构造方法,走的是自然排序而这里底层源码中有一步是向下转型的Comparable<? super K> k = (Comparable<?super K>)key;报错了原因是我们Student3没有实现Comparable接口,无法进行向下转型,所以报错了。*/
public class TreeSetDemo2 {public static void main(String[] args) {//创建TreeSet集合TreeSet<Student3> set = new TreeSet<>();//创建学生对象Student3 s1 = new Student3("theshy",20);Student3 s2 = new Student3("xiaohu",24);Student3 s3 = new Student3("uzi",25);Student3 s4 = new Student3("kasa",22);Student3 s5 = new Student3("rookie",23);Student3 s6 = new Student3("zitai",21);Student3 s7 = new Student3("faker",25);Student3 s8 = new Student3("xiaohu",24);//将学生对象添加到集合中set.add(s1);set.add(s2);set.add(s3);set.add(s4);set.add(s5);set.add(s6);set.add(s7);set.add(s8);for (Student3 student3 : set) {System.out.println(student3);}}
}
package com.shujia.lhw.day19;public class Student3 implements Comparable<Student3>{private String name;private int age;public Student3() {}public Student3(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;}@Overridepublic String toString() {return "Student3{" +"name='" + name + '\'' +", age=" + age +'}';}@Overridepublic int compareTo(Student3 o){
//        return 0;
//        return 1;
//        return -1;//这里返回什么应该根据我们自己定义的规则来排序//比如我想在去重的前提下,按照年龄进行排序
//        return this.age - o.age;//年龄不一样,姓名不一定一样//这里要区分主次条件(主要条件是业务明确给出的,次要条件是我们自己分析得出的)int i = this.age - o.age;//判断姓名是否一样(三目运算符)int i2 = i == 0?this.name.compareTo(o.name): i;return i2;}
}

-----------------------------------------------------------------------------------------------------------------------------

十九、TreeSetDemo3

package com.shujia.lhw.day19;import java.util.TreeSet;/*需求:TreeSet集合存储学生对象,并且以姓名的长度来排序*/
public class TreeSetDemo3 {public static void main(String[] args) {//创建TreeSet集合对象TreeSet<Student4> set = new TreeSet<>();//创建学生对象Student4 s1 = new Student4("mingwang",18);Student4 s2 = new Student4("wangyu",19);Student4 s3 = new Student4("zhoujiaxiang",17);Student4 s4 = new Student4("zhangbaogui",18);Student4 s5 = new Student4("liuzhicheng",18);Student4 s6 = new Student4("wangyu",20);//将学生对象添加到集合中set.add(s1);set.add(s2);set.add(s3);set.add(s4);set.add(s5);set.add(s6);for (Student4 student4 : set) {System.out.println(student4);}}
}
package com.shujia.lhw.day19;public class Student4 implements Comparable<Student4>{private String name;private int age;public Student4() {}public Student4(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;}@Overridepublic String toString() {return "Student4{" +"name='" + name + '\'' +", age=" + age +'}';}@Overridepublic int compareTo(Student4 o) {
//        return 0;//主要条件:姓名的长度排序int i = this.name.length() - o.name.length();
//        return i;//长度一样,姓名内容不一定一样int i2 = i == 0 ? this.name.compareTo(o.name) : i;//姓名内容一样,年龄的大小不一定一样int i3 = i2 == 0 ? this.age - o.age : i2;return i3;}
}

--------------------------------------------------------------------------------------------------------------------------

二十、TreeSetDemo4 比较器排序

package com.shujia.lhw.day19;import java.util.Comparator;
import java.util.TreeSet;/*比较器排序利用TreeSet创建对象时的带参数的构造方法来进行比较器排序TreeSet(Comparator<? super E> comparator)构造一个新的,空的树集,根据指定的比较器进行排序*/
public class TreeSetDemo4 {public static void main(String[] args) {
//        MyComparator mc = new MyComparator();
//        TreeSet<Student5> set = new TreeSet<>(mc);//匿名内部类实现Comparator接口TreeSet<Student5> set = new TreeSet<>(new Comparator<Student5>(){   @Overridepublic int compare(Student5 o1, Student5 o2) {
//                return 0;//主要条件:姓名的长度排序int i = o1.getName().length() - o2.getName().length();
//                return i;//长度一样,姓名内容不一定一样int i2 = i == 0 ? o1.getName().compareTo(o2.getName()) : i;//姓名内容一样,年龄的大小不一定一样int i3 = i2 ==0 ? o1.getAge() - o2.getAge() : i2;return i3;}});//创建学生对象Student5 s1 = new Student5("mingwnag",18);Student5 s2 = new Student5("wangyu",19);Student5 s3 = new Student5("zhoujiaxiang",17);Student5 s4 = new Student5("zhangbaogui",18);Student5 s5 = new Student5("liuzhicheng",18);Student5 s6 = new Student5("wangyu",20);//将学生对象添加到集合中set.add(s1);set.add(s2);set.add(s3);set.add(s4);set.add(s5);set.add(s6);//遍历for (Student5 student5 : set) {System.out.println(student5);}}
}
package com.shujia.lhw.day19;public class Student5 {private String name;private int age;public Student5() {}public Student5(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;}@Overridepublic String toString() {return "Student5{" +"name='" + name + '\'' +", age=" + age +'}';}
}
package com.shujia.lhw.day19;import java.util.Comparator;public class MyComparator implements Comparator<Student5> {@Overridepublic int compare(Student5 o1,Student5 o2){//return 0;//主要条件:姓名的长度排序int i = o1.getName().length() - o2.getName().length();
//        return i;//长度一样,姓名内容不一定一样int i2 = i == 0 ? o1.getName().compareTo(o2.getName()):i;//姓名的内容一样,年龄的大小不一定一样int i3 = i2 == 0 ? o1.getAge() - o2.getAge() : i2;return i3;}
}

Day19(可变参数,增强for循环遍历,泛型通配符<?>,TreeSet,LinkedHashSet,集合的嵌套遍历,Set集合,静态导入,)相关推荐

  1. 16.集合框架(ArrayList,Vector,LinkedList,泛型(Generic),可变参数,增强for循环)

    1.ArrayList存储字符串并遍历 JDK1.8新增的一个方法也能遍历集合 void forEach(Consumer<? super E> action) 执行特定动作的每一个元素的 ...

  2. Java基础知识 21(Set集合,HashSet集合以及它的三种遍历方式(迭代器,增强for循环,forEach),LinkedHashSet集合,TreeSet集合(自然排序法,比较器排序法))

    Java基础知识 21 Set集合 Set集合:一个不包含重复元素的Collection集合,元素不重复,List集合是允许元素重复的. Set接口的三个字类:HashSet(),LinkedHash ...

  3. 集合类(collection、List、Set、Map、HashMap、TreeMap、、Properties、泛型类、可变长参数、增强for循环、Collections、数组与链表)

    集合类 0.集合类概述 1.Collection 概念 (1)Collection接口的API (2)Iterator接口(collection集合的遍历) 案例:collection集合存储学生对象 ...

  4. mysql for 循环删除_Java增强for循环中删除元素抛异常问题

    前言 最近突然想起刚毕业那会找工作时面试被问了个这样的问题.就是"使用增强for循环遍历ArrayList(List集合)时删除其中的元素是否会出现异常?".说实话当时真把我愣住了 ...

  5. [转载] Java之可变参数

    参考链接: Java中的可变参数(Varargs) Java可变参数 Java语言在 JDK1.5中首次推出Java可变参数 ,variable arguments,或简称varargs.这一新语言特 ...

  6. java 增强for循环 i_java入门 -- 增强for循环

    import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Map; ...

  7. 关于普通for循环和增强for循环

    什么时候使用普通for循环,什么时候使用增强for循环 首先,增强for循环的写法比普通for循环简便,不过我们还得考虑效率. --->首先,我们先看结论: 对于基本数组类的遍历,两者的效率是相 ...

  8. 【JAVASE小新】增强for循环使用

    package Gather.CollectionArrayList;import java.util.ArrayList; import java.util.Collection;/*** @aut ...

  9. 01-java基础加强,eclipse工具使用,快捷键,断点调试,单元测试,jdk5新特性,增强for循环,集合map,list,可变参数,枚举,反射,泛型

    一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace  选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Project) 3) ...

最新文章

  1. linux文件管理相关操作
  2. mysql -a 参数_mysql参数及解释
  3. redhat yum 安装 mysql_Redhat 7 下Mysql8.0.19安装配置图文详解(配合使用 centos YUM源)...
  4. 封装绑定以BaseDataList , ListControl 为基类的函数库
  5. NodeJS获取命令行后面的参数
  6. 怎么分辨是不是外包工司_花2万做外装农村自建房秒变别墅,农村工头:这还让人怎么混?...
  7. Java设计模式学习总结(12)——结构型模式之外观模式
  8. nginx日志切割脚本
  9. vim编辑器的简单使用
  10. 网络蜘蛛Spider的逻辑Logic(一)
  11. Dell IDRAC服务器重装系统详解(远程连接)
  12. 全国哀悼日,网站变成黑白色
  13. 域名系统(Domain Name System,DNS)
  14. 蚁群优化算法之精华蚂蚁系统和排列蚂蚁系统学习笔记
  15. C#文字播放语音功能System.Speech类库的使用
  16. 计算机开始菜的mstsc命令,Win10一周年更新版系统CLSID(GUID)汇总
  17. po,bo,vo,pojo,dto的区别
  18. 策划好一场活动的要点和方法有哪些?
  19. 保研计算机英语词汇,如何技巧背诵考研英语词汇
  20. 微信小程序---JavaScript脚本

热门文章

  1. 关于 Kubernetes 中通过 Kustomize 定制 Yaml资源文件的一些笔记
  2. 明日方舟 红松林故事集
  3. Java导出带有单选款(radio)和复选框(checkbox)选中效果的word doc文档-Freemarker实现方式
  4. FSK调制解调过程的matlab仿真
  5. 微博爬虫python_利用python实现新浪微博爬虫
  6. 爬虫—微博博主动态及相册的请求构造规律
  7. 转战物联网·基础篇13-了解物联网之物连接相关通信技术(2)
  8. openEuler操作系统的安装
  9. 计算机更新并关机能关闭吗,win10关机不想更新并关机而是直接关机步骤设置
  10. Selenium批量查询运动员技术等级