例題【2】

  • ArrayList遍歷輸出

        ArrayList<String> list = new ArrayList<String>();
        list.add("李");
        list.add("白");
        list.add("樂");
        list.add("巖");
        System.out.println(list);
        System.out.println(list.toString());
        
        //增強(qiáng)for循環(huán)
        for(String s : list) {
            System.out.println(s);
        }
        System.out.println("--------");
        //普通for循環(huán)
        for(int i = 0; i < list.size(); i++){
            System.out.println(list.get(i));
        }
        System.out.println("--------");
        //迭代器
        Iterator<String> iter = list.iterator();
        while(iter.hasNext()) {
            String s = iter.next();
            System.out.println(s);
        }

  • HashSet遍歷

        HashSet<String> h = new HashSet<>();
        h.add("LI");
        h.add("BAI");
        h.add("LE");
        h.add("YAN");//輸出效果與輸入元素順序不一致(無序的)
        h.add("YAN");//不允許有重復(fù)值,所以可以用于【自動(dòng)去重】
        
        System.out.println(h);
        //增強(qiáng)for循環(huán)遍歷
        for(String ss : h) {
            System.out.println(ss);
        }
        //迭代器遍歷
        Iterator<String> iter = h.iterator();
        while(iter.hasNext()) {
            System.out.println(iter.next());
        }
  • Map遍歷

        Map<Integer, String> map = new HashMap<>();

        map.put(1, "李");
        map.put(2, "白");
        map.put(3, "樂");
        map.put(4, "巖");
        map.put(5, "皪");
        map.put(6, "皪");

        Set<Integer> keyset = map.keySet();
        for (Integer key : keyset) {
            System.out.println("鍵:" + key + ",值:" + map.get(key));
        }

        // 遍歷所有值
        Collection<String> values = map.values();
        for (String value : values) {
            System.out.println("值:" + value);
        }

        // 遍歷鍵值對
        Set<Entry<Integer, String>> entryset = map.entrySet();
        for (Entry<Integer, String> en : entryset) {
            Integer key = en.getKey();
            String value = en.getValue();
            System.out.println("鍵:" + key + ",值:" + value);
        }
  • 迭代器的雙向遍歷

        ArrayList<String> list = new ArrayList<String>();

        list.add("I");
        list.add("like");
        list.add("lbly");
        
        ListIterator<String> iter = list.listIterator();
        while(iter.hasNext()) {
            String s = iter.next();
            System.out.println(s);
        }
        while(iter.hasPrevious()) {
            String s1 = iter.previous();
            System.out.println(s1);
        }
  • 模擬隊(duì)列

class MyQueue<T>{
    LinkedList<T> link = new LinkedList<T>();

    public void put(T value) {
        link.add(value);
    }
    public T get() {
        return link.poll();
    }
    public boolean isEmpty() {
        return link.isEmpty();
    }
}
public class JiHe4 {
    public static void main(String[] args) {
        MyQueue<String> mq = new MyQueue<>();
        mq.put("LI");
        mq.put("BAI");
        mq.put("LE");
        mq.put("YAN");
        System.out.println(mq.link);
        
        while(!mq.isEmpty()) {
            System.out.println(mq.get());
        }

    }
}
  • 修改類結(jié)構(gòu)的對象比較

class Person implements Comparable<Person>{
    int id;
    String name;
    public Person(int id, String name) {
        super();
        this.id = id;
        this.name = name;
    }
    @Override
    public String toString() {
        return "Person [id=" + id + ", name=" + name + "]";
    }
    @Override
    public int compareTo(Person o) {
        if(this.id < o.id) {
            return -1;
        }else if(this.id > o.id) {
            return 1;
        }else {
            return 0;
        }
    }
        
}
public class JiHe5 {
    public static void main(String[] args) {
        Person parr[] = {new Person(123,"李"),new Person(126,"巖"),new Person(125,"樂"),new Person(124,"白")};
        System.out.println(Arrays.toString(parr));

        Arrays.sort(parr);
        System.out.println(Arrays.toString(parr));

    }
}
  • 不修改類結(jié)構(gòu)的對象比較

class Man{
    int id;
    String name;
    public Man(int id, String name) {
        super();
        this.id = id;
        this.name = name;
    }
    @Override
    public String toString() {
        return "Man [id=" + id + ", name=" + name + "]";
    }
    
}

class ManComparator implements Comparator<Man>{

    @Override
    public int compare(Man o1, Man o2) {
        if(o1.id < o2.id) {
            return -1;
        }else if(o1.id > o2.id) {
            return 1;
        }else {
            return 0;
        }
    }
    
}
public class JiHe6 {
    public static void main(String[] args) {
        Man parr[] = {new Man(123,"李"),new Man(126,"巖"),new Man(124,"白"),new Man(125,"樂")};

        Arrays.sort(parr,new ManComparator());//傳比較規(guī)則
        System.out.println(Arrays.toString(parr));

    }
}
  • 生成不同隨機(jī)正整數(shù)

        HashSet<Integer> set = new HashSet<>();
        Random r = new Random();
        
        while(set.size() < 10) {//限制生成隨機(jī)數(shù)的數(shù)量
            set.add(r.nextInt(100));//限制生成隨機(jī)數(shù)的范圍
        }
        System.out.println(set);
  • 嵌套循環(huán)

        for(int s = 1;s <= 3;s++) {
            for(int x = 1;x <= 3;x++) {
                System.out.print("*");
            }
            System.out.println();
        }
        // 嵌套循環(huán)寫九九乘法表
        for(int c = 1;c <= 9;c++) {
            for(int d = 1;d <= c;d++) {
                System.out.print(c + "*" + d + "=" + c * d + "\t");
            }
            System.out.println();
        }
  • 單例模式

class Singleton{
     private static Singleton sing = new Singleton();
     
     public static Singleton getSing() {
         return sing;
     }
     
     private Singleton() {
         
     }
 }
public class SingletonModel {
    public static void main(String[] args) {
        Singleton s1 = Singleton.getSing();
        Singleton s2 = Singleton.getSing();
        Singleton s3 = Singleton.getSing();
        
        System.out.println(s1 == s2); // ==運(yùn)算符在比較引用數(shù)據(jù)類型的時(shí)候,比較的是地址
        System.out.println(s1 == s3); // 都為true,開辟的就是一個(gè)空間
        System.out.println(s2 == s3);

    }
}
  • ArrayList對象排序

/*在一個(gè)列表中存儲(chǔ)以下元素:apple,grape,banana,pear 
 * 1.返回集合中的最大的和最小的元素
 * 2.將集合進(jìn)行排序,并將排序后的結(jié)果打印在控制臺(tái)上*/
        ArrayList<String> list = new ArrayList<String>();
        list.add("apple");
        list.add("grape");
        list.add("banana");
        list.add("pear");
        
        String[] sarr = list.toArray(new String[] {});
        Arrays.sort(sarr);
        
        System.out.println(Arrays.toString(sarr));
        
        System.out.println(sarr[0]);
        System.out.println(sarr[sarr.length - 1]);
  • 生成6個(gè)不同隨機(jī)正整數(shù)

        HashSet<Integer> set = new HashSet<>();
        Random r = new Random();
        
        while(set.size() < 6) {
            set.add(r.nextInt(10));
        }
        
        System.out.println(set);
  • 輸入一個(gè)字符串(字母),統(tǒng)計(jì)其中大寫和小寫字母個(gè)數(shù)

        Scanner scan = new Scanner(System.in);
        System.out.println("輸入一個(gè)字符串:");
        String str = scan.next();
        
        int a = 0;
        int b = 0;
        
        char c[] = str.toCharArray();
        for(int i = 0;i < c.length;i++) {
            if(c[i] >= 65 && c[i] <= 90) {
                a++;
            }else {//小寫字母范圍:c[i] >= 97 && c[i] <= 122
                b++;
            }
        }
        
        System.out.println("大寫字母有" + a + "個(gè),小寫字母有" + b + "個(gè)。");
  • 統(tǒng)計(jì)英文字母、數(shù)字、漢字的個(gè)數(shù)

        String str = "Hello中國2024";
        int a = 0;
        int b = 0;
        int d = 0;
        
        for(int i = 0;i < str.length();i++) {
            char c = str.charAt(i);
            if(c >= '0' && c <= '9') {
                b++;
            }else if( c >= 'a' && c <= 'z'|| c >= 'A' && c <= 'Z') {
                a++;
            }else {
                d++;
            }
        }
        
        System.out.println("英文字母的個(gè)數(shù):" + a + ",數(shù)字的個(gè)數(shù):" + b + ",漢字的個(gè)數(shù):" + d);
  • "feggggseeehee" ——> e的個(gè)數(shù)

        String str = "feggggseeehee";
        int sum = 0;
        for(int i = 0;i < str.length();i++) {
            if(str.charAt(i) == 'e') {
                sum++;
            }
        }
        
        System.out.println("數(shù)組中e的個(gè)數(shù):" + sum);
  • 輸入一個(gè)字符串,將其中每一個(gè)字母變成其后的第三個(gè)字母

        // a ——> d , b ——> e , x ——> a  
        // abc ——> def , xyz ——> abc
        Scanner scan = new Scanner(System.in);
        String str = scan.next();
        String s ="";
        
        char crr[] = str.toCharArray();
        
        for(int i = 0;i < crr.length; i++) {
            char c = (char) (crr[i] + 3);
            if(crr[i] >= 120) {
                c =(char) (crr[i] - 23);
            }
            s = s + c;
        }
        System.out.println(s);
  • 字符串轉(zhuǎn)置

        String str = "abcd";
        char s[] = str.toCharArray();
        char c[] = new char[str.length()];
        
        for(int i = 0;i < s.length;i++) {
            c[i] = s[s.length - 1 - i];
        }
        
        String ss = new String(c);
        System.out.println(ss);
  • 回文數(shù)12321

    public static String rever(String str) {
        char s[] = str.toCharArray();
        char c[] = new char [str.length()];
        for(int i = 0;i < s.length;i++) {
            c[i] = s[s.length - 1 - i];
        }
        
        String ss = new String(c);
        return ss;
    }
    
    public static void main(String[] args) {
        String str = "1232156";
        String ss = rever(str);
        if(str.equals(ss)) {
            System.out.println("是回文數(shù)");
        }else {
            System.out.println("不是回文數(shù)");
        }
    }
  • 生成隨機(jī)數(shù)

/*【生成隨機(jī)數(shù)】
 * 編寫一個(gè)方法為物品生成一個(gè)指定長度的編號
 * 要求編號的每一位或者為0到9的數(shù)字,或者為A到Z的大寫字母
 * 每次生產(chǎn)的編號是隨機(jī)的*/

import java.util.Random;
public class Aug0203ti {
    public static String suiji(int n) {
        Random rm = new Random();
        String str = "";
        
        for(int i = 0;i < n;i++) {
            int t = rm.nextInt(2);//控制每一位是生產(chǎn)數(shù)字還是字母(0數(shù)字,1字母)
            
            if(t == 0) {
                //數(shù)字
                int num = rm.nextInt(10);
                str = str + num;
            }else {
                //字母
                char c = (char)(65 + rm.nextInt(26));
                str = str + c;
            }
        }
        return str;
    }
    public static void main(String[] args) {
        System.out.println(suiji(5));
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容