1. 程式人生 > >java 寫一個方法返回值是Map型別

java 寫一個方法返回值是Map型別

寫一個方法返回值是Map型別:(通過控制檯 寫進去一行字元,分別統計出其英文字母,空格,數字和其它字元 放到對應的list裡面,最終把list放到Map裡並返回) 最近老遇到問這個問題的人,我覺定寫個蠢一點的辦法滿足一下大家

import java.util.*;

public class demo1 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String arr = in.nextLine();

        System.out.println(demo(arr));

    }

    public static Map<String, List> demo (String arr )
    {
        String[] arrs = arr.split(" ");

        Map<String,List> map = new HashMap<>();
        List<String> list1 = new LinkedList<>();
        List<String> list2 = new LinkedList<>();
        List<String> list3 = new LinkedList<>();
        List<String> list4 = new LinkedList<>();
            for (int i=0;i<arr.length();i++){
                if ((arr.charAt(i)>='a'&&arr.charAt(i)<='z')||(arr.charAt(i)>='A'&&arr.charAt(i)<='Z')){
                    Character character = arr.charAt(i);
                    list1.add(character.toString());
                }
                else if ('0'<=arr.charAt(i)&&'9'>=arr.charAt(i)){

                    Character character = arr.charAt(i);
                    list3.add(character.toString());
                }
                else if (' '==arr.charAt(i)){
                    list2.add(" ");
                }
                else {
                    Character character = arr.charAt(i);
                    list4.add(character.toString());
                }

            }




        map.put("character",list1);
        map.put("space",list2);
        map.put("other",list4);
        map.put("number",list3);
            return map;
        }


}

在這裡插入圖片描述 聰明的人應該已經想到用正則表示式了,但是我覺得正則想起來麻煩就不想了有人想好了可以告訴我