BigData03_04 equals()源码分析和String类的方法

1.equals语句内部的源代码实现方法

 

 

2.数组

 检查数组中是否含有重复元素
 
 1 package test;
 2 
 3 public class Student {
 4     String name;
 5     int age;
 6 
 7     
 8     public Student() {
 9         super();
10         // TODO Auto-generated constructor stub
11     }
12 
13     public String getName() {
14         return name;
15     }
16 
17     public void setName(String name) {
18         this.name = name;
19     }
20 
21     public int getAge() {
22         return age;
23     }
24 
25     public void setAge(int age) {
26         this.age = age;
27     }
28 
29     @Override
30     public String toString() {
31         return "Student [name=" + name + ", age=" + age + "]";
32     }
33     
34     
35     
36 }
学生类
 1 import java.util.Scanner;
 2 
 3 /*
 4  * 有学生类定义如下:
 5     成员变量:name,age
 6     从键盘录入3个学生的信息,并保存在数组中,再编写方法输出数组中的学生详细信息.
 7  */
 8 public class Test3 {
 9     public static void main(String[] args){
10         Student[] stuArray = new Student[3];
11         Scanner sc = new Scanner(System.in);
12         for (int i = 0; i < stuArray.length; i++) {
13             Student s = new Student();
14             System.out.println("请输入第"+(i+1)+"个学生的姓名:");
15             s.setName(sc.next());
16             System.out.println("请输入第"+(i+1)+"个学生的年龄:");
17             s.setAge(sc.nextInt());
18             //让学生加入到数组
19             stuArray[i] = s;
20         }
21         
22         for (int i = 0; i < stuArray.length; i++) {
23             System.out.println("第"+(i+1)+"个学生的信息是:");
24             System.out.println(stuArray[i]);//如果没有重写toString方法,这里打印的是类名+ @ + 十六进制字符串
25         }
26         
27     }
28 }
学生类 的信息输入和打印
/*
 * 编写方法实现判断一个int数组中是否包含重复值.并测试
 * 
 * 分析:
 *     第一轮:确定的是第一个位置上的元素是否唯一.
 *     第二轮:确定第二个位置上的元素是否唯一.
 *  ...
 *  总的轮数:数组元素个数 - 1
 *  每轮:
 *      拿一个位置上的元素依次和它后面的所有元素进行比较
 *      每轮比较的次数依次减少
 * 
 */
public class Test1 {

    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5,3};
        int[] arr2 = {1,2,3,4,5,6};
        
        System.out.println(check(arr));
        System.out.println(check(arr2));

    }

    private static boolean check(int[] arr) {
        for(int i = 0;i<arr.length - 1;i++){//轮数
            for(int j = i + 1;j<arr.length;j++){//循环此位置后面的所有元素
                if(arr[i] == arr[j]){
                    return true;
                }
            }
        }
        return false;
    }

}

3..String类的方法

(1)


判断一个长字符串中是否含有相同单词

 1 package test_string;
 2 /*
 3  * 判断一个长字符串中是否含有相同单词
 4  */
 5 public class StringDemo11 {
 6     public static void main(String[] args) {
 7         String s = "Hello word hello China hello ";
////根据给定正则表达式的匹配拆分此字符串
8 String[] st = s.split(" "); 9 10 boolean res = pan(st); 11 System.out.println(res); 12 13 } 14 //自定义方法检查是否包含重复元素 15 private static boolean pan(String [] st) { 16 17 for (int i = 0; i < st.length-1; i++) { 18 for (int j = i+1; j < st.length; j++) { 19 if (st[i].equals(st[j])) { 20 return true; 21 } 22 } 23 } 24 25 return false; 26 } 27 28 }

2.

 

 

 

 

原文地址:https://www.cnblogs.com/star521/p/8387844.html