可变参数,Collections工具类
1.可变参数
- 举例代码
package bili;
import java.util.ArrayList;
import java.util.Arrays;
public class Collection2 {
public static void main(String[] args) {
test();
test(10);
test(10,20,30);
test(new int[]{10,20,30,66});
}
//方法
public static void test(int... nums){
//可变参数在方法内部,本质就是一个数组
System.out.println(nums.length);
System.out.println(Arrays.toString(nums));
System.out.println("-----------------------");
}
}
2.Collections工具类
①addAll方法
第一个参数是接Collection的集合,第二个参数是可变参数,意味着可以接一批数据。
package bili;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
public class Collection2 {
public static void main(String[] args) {
Collection<String> names=new ArrayList<>();
Collections.addAll(names,"李一一","王五");
System.out.println(names);
}
}
②shuffle方法
打乱List的集合,是因为List是有序的;
package bili;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Collection2 {
public static void main(String[] args) {
//不能再是Collection<String> names=new ArrayList<>();
//因为Collection中包括无序的Set
List<String> names=new ArrayList<>();
Collections.addAll(names,"李一一","王五","have offers");
System.out.println(names);
Collections.shuffle(names);
System.out.println("--------------------");
System.out.println(names);
}
}
③sort方法
package bili;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Collection2 {
public static void main(String[] args) {
//不能再是Collection<String> names=new ArrayList<>();
//因为Collection中包括无序的Set
List names=new ArrayList<>();
Collections.addAll(names,5,3,6,9,8);
System.out.println(names);
//对List集合中的元素进行升序排序
Collections.sort(names);
System.out.println("--------------------");
System.out.println(names);
}
}
④sort方法(内容是学生类等类似的)
排序方法一
Collections只能支持对List集合进行排序
在学生类中重写CompareTo方法,自己制定相应的比较规则
排序方法二
在运用Sort方法时使用比较器对象制定规则进行排序