java 写一个方法返回值是Map类型

写一个方法返回值是Map类型:(通过控制台写进去一行字符,分别统计出其英文字母,空格,数字和其它字符放到对应的list里面,最终把list放到Map里并返回)... 写一个方法返回值是Map类型:(通过控制台 写进去一行字符,分别统计出其英文字母,空格,数字和其它字符 放到对应的list里面,最终把list放到Map里并返回) 展开
 我来答
抱大神啊
2018-11-13
知道答主
回答量:36
采纳率:0%
帮助的人:4.5万
展开全部
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;
        }


}

刚刚给你写了一个简单的例子,其实正则比较方便

爱笑的柯南推理
2018-11-13 · TA获得超过6192个赞
知道大有可为答主
回答量:6693
采纳率:65%
帮助的人:1179万
展开全部
在Java中,定义方法返回Map跟返回其他类型一样,只需要指定方法的返回类型为Map即可。
具体实现如下:
public Map<String,Object> doSomething(){...}

Map是Java中的一个键值对接口,开发中经常会用到。Map接口提供三种collection
视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。映射顺序 定义为迭代器在映射的 collection
视图上返回其元素的顺序。Map接口的实现子类有很多,其中较为常用的有HashMap, Hashtable,TreeMap,ConcurrentHashMap等。
追问
能发下代码吗......
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
498255687
2018-11-13 · 超过22用户采纳过TA的回答
知道答主
回答量:66
采纳率:50%
帮助的人:24.6万
展开全部
public static void main(String[] arr){
String arg="aaaa 12345测试";
//字母列表
List<Object> zmList = new ArrayList<Object>();
//空格列表
List<Object> kgList = new ArrayList<Object>();
//数字列表
List<Object> szList = new ArrayList<Object>();
//其他
List<Object> otherList = new ArrayList<Object>();
for(int i=0;i<arg.length();i++){
char at=arg.charAt(i);
if ((at > 'A' && at < 'Z') || (at > 'a' && at < 'z')){
zmList.add(at);
}else if(Character.isDigit(at)){
szList.add(at);
}else if(Character.isSpace(at)){
kgList.add(at) ;
}else{
otherList.add(at);
}
}
Map<String,List> retMap = new HashMap<String,List>();
retMap.put("zmList", zmList);
retMap.put("kgList", kgList);
retMap.put("szList", szList);
retMap.put("otherList", otherList);
}
追问
控制台输入不了
追答
BufferedReader br = new BufferedReader(new InputStreamReader(System.in ));
//java.io.InputStreamReader继承了Reader类
String read = null;
System.out.print("输入数据:");
try {
read = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
String arg=read;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pieryon
2018-11-13 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14410 获赞数:166869
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
说的真么清楚了还不会?
追问
1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式