Arrays

发布时间:2022-06-21 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Arrays脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

 

Arrays

 

 

 

Arrays

 

 

 

Arrays

 

 

 

Arrays

 

 

 

Arrays

 

 

 import java.util.Arrays;import java.util.COMparator;public class ArraysDemo2 { public static void main(String[] args) { // 目标:自定义数组的排序规则:Comparator比较器对象。 // 1Arrayssort方法对于有值特性的数组是默认升序排序 int[] ages = {34, 12, 42, 23}; Arrays.sort(ages); System.out.PRintln(Arrays.toString(ages)); // 2、需求:降序排序(自定义比较器对象,只能支持引用类型的排序!!) Integer[] ages1 = {34, 12, 42, 23}; /** 参数一:被排序的数组 必须是引用类型的元素 参数二:匿名内部类对象,代表了一个比较器对象。 */ Arrays.sort(ages1, new Comparator<Integer>() { @override public int compare(Integer o1, Integer o2) { // 指定比较规则。// if(o1 > o2){// return 1;// }else if(o1 < o2){// return -1;// }// return 0; // return o1 - o2; // 默认升序 return o2 - o1; // 降序 } }); System.out.println(Arrays.toString(ages1)); System.out.println("-------------------------"); Student[] students = new Student[3]; students[0] = new Student("吴磊",23 , 175.5); students[1] = new Student("谢鑫",18 , 185.5); students[2] = new Student("王亮",20 , 195.5); System.out.println(Arrays.toString(students)); // Arrays.sort(students); // 直接运行奔溃 Arrays.sort(students, new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { // 自己指定比较规则 // return o1.getAge() - o2.getAge(); // 按照年龄升序排序! // return o2.getAge() - o1.getAge(); // 按照年龄降序排序!! // return Double.compare(o1.getHeight(), o2.getHeight()); // 比较浮点型可以这样写 升序 return Double.compare(o2.getHeight(), o1.getHeight()); // 比较浮点型可以这样写 降序 } }); System.out.println(Arrays.toString(students)); }}

Arrays

 

 

 

Arrays

 

 

 /** 目标:理解二分搜索的原理并实现。 */public class test2 { public static void main(String[] args) { // 1、定义数组 int[] arr = {10, 14, 16, 25, 28, 30, 35, 88, 100}; // r // l // System.out.println(binarySeArch(arr , 35)); System.out.println(binarySearch(arr , 350)); } /** * 二分查找算法的实现 * @param arr 排序的数组 * @param data 要找的数据 * @return 索引,如果元素不存在,直接返回-1 */ public static int binarySearch(int[] arr, int data){ // 1、定义左边位置 和 右边位置 int left = 0; int right = arr.length - 1; // 2开始循环,折查询。 while (left <= right){ // 取中间索引 int middleIndex = (left + right) / 2; // 3、判断当前中间位置的元素和要找的元素的大小情况 if(data > arr[middleIndex]) { // 往右边找,左位置更新为 = 中间索引+1 left = middleIndex + 1; }else if(data < arr[middleIndex]) { // 往左边找,右边位置 = 中间索引 - 1 right = middleIndex - 1; }else { return middleIndex; } } return -1; // 查无此元素 }}

 

/**    目标:学会使用选择排序的方法对数组进行排序。 */public class test1 {    public static void main(String[] args) {        // 1、定义数组        int[] arr = {5, 1, 3, 2};        //           0  1  2  3        // 2、定义一个循环控制选择几轮: arr.length - 1        for (int i = 0; i < arr.length - 1; i++) {            // i = 0   j =  1  2  3            // i = 1   j =  2  3            // i = 2   j =  3            // 3、定义内部循环,控制选择几次            for (int j = i + 1; j < arr.length; j++) {                // 当前位:arr[i]                // 如果有比当前位数据更小的,则交换                if(arr[i] > arr[j]) {                    int temp = arr[i];                    arr[i] = arr[j];                    arr[j] = temp;                }            }        }        System.out.println(Arrays.toString(arr));    }}

Arrays

 

 

Arrays

 

 public class LambdaDemo2 { public static void main(String[] args) { // 目标:学会使用Lambda的标准格式简化匿名内部类的代码形式 // 注意:Lambda只能简化接口中只有一个抽象方法的匿名内部类形式(函数式接口)// Swimming s1 = new Swimming() {// @Override// public void swim() {// System.out.println("老师游泳贼溜~~~~~");// }// };// Swimming s1 = () -> {// System.out.println("老师游泳贼溜~~~~~");// }; Swimming s1 = () -> System.out.println("老师游泳贼溜~~~~~"); go(s1); System.out.println("---------------------");// go(new Swimming() {// @Override// public void swim() {// System.out.println("学生游泳很开心~~~");// }// });// go(() ->{// System.out.println("学生游泳很开心~~~");// }); go(() -> System.out.println("学生游泳很开心~~~")); } public static void go(Swimming s){ System.out.println("开始。。。"); s.swim(); System.out.println("结束。。。"); }}@FunctionalInterface // 一旦加上这个注解必须是函数式接口,里面只能有一个抽象方法interface Swimming{ void swim();}

import javax.swing.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Arrays;import java.util.Comparator;public class LambdaDemo3 { public static void main(String[] args) { Integer[] ages1 = {34, 12, 42, 23}; /** 参数一:被排序的数组 必须是引用类型的元素 参数二:匿名内部类对象,代表了一个比较器对象。 */// Arrays.sort(ages1, new Comparator<Integer>() {// @Override// public int compare(Integer o1, Integer o2) {// return o2 - o1; // 降序// }// });// Arrays.sort(ages1, (Integer o1, Integer o2) -> {// return o2 - o1; // 降序// });// Arrays.sort(ages1, ( o1, o2) -> {// return o2 - o1; // 降序// }); Arrays.sort(ages1, ( o1, o2 ) -> o2 - o1 ); System.out.println(Arrays.toString(ages1)); System.out.println("---------------------------"); JFrame win = new JFrame("登录界面"); JButton BTn = new JButton("我是一个很大的按钮");// btn.addActionListener(new ActionListener() {// @Override// public void actionPErformed(ActionEvent e) {// System.out.println("有人点我,点我,点我!!");// }// });// btn.addActionListener((ActionEvent e) -> {// System.out.println("有人点我,点我,点我!!");// });// btn.addActionListener(( e) -> {// System.out.println("有人点我,点我,点我!!");// });// btn.addActionListener( e -> {// System.out.println("有人点我,点我,点我!!");// }); btn.addActionListener( e -> System.out.println("有人点我,点我,点我!!") ); win.add(btn); win.setSize(400, 300); win.setVisible(true); }}

Arrays

 

 

Arrays

 

 

Arrays

 

 

Arrays

 

 

Arrays

 

 

Arrays

 

脚本宝典总结

以上是脚本宝典为你收集整理的Arrays全部内容,希望文章能够帮你解决Arrays所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。