首页 / JAVA / java字符数组的arraylist
java字符数组的arraylist
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java字符数组的arraylist,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1552字,纯文字阅读大概需要3分钟。
内容图文
![java字符数组的arraylist](/upload/InfoBanner/zyjiaocheng/669/e786037ae8b44586aff44e2101285f44.jpg)
我最初有一个字符串数组列表,但我想将其另存为这些字符串的数组列表.toCharArray().是否有可能创建一个存储char数组的arraylist?这是我尝试实现的方法.
String[] words = new String[]{"peter","month","tweet", "pete", "twee", "pet", "et"};
HashMap<Integer,ArrayList<Character[]>> ordered = new HashMap<>();
int length = 0;
int max = 0; //max Length of words left
for(String word: words){
if(ordered.containsKey(length) == false){ //if int length key doesnt exist yet
ordered.put(length, new ArrayList<Character[]>()); //put key in hashmap with value of arraylist with the one value
ordered.get(length).add(word.toCharArray());
}
}
解决方法:
请注意,toCharArray()返回原语数组(char []),而不是装箱类的数组(如您当前所拥有的Character []).另外,如果数组的长度不在地图中,则仅将给定数组添加到地图中,这可能不是您想要的行为(即,应将ordered.get(length)行移动. add(word.toCharArray()); if语句之外).
另外,请注意,Java 8的流可以为您带来很多繁重的工作:
String[] words = new String[]{"peter","month","tweet", "pete", "twee", "pet", "et"};
Map<Integer, List<char[]>> ordered =
Arrays.stream(word)
.map(String::toCharArray)
.collect(Collectors.groupingBy(x -> x.length));
编辑:
根据评论中的问题,这在没有流的Java 7中也是完全可能的:
String[] words = new String[]{"peter","month","tweet", "pete", "twee", "pet", "et"};
Map<Integer, List<char[]>> ordered = new HashMap<>();
for (String word: words) {
int length = words.length();
// if int length key doesnt exist in the map already
List<char[]> list = orderd.get(length);
if (list == null) {
list = new ArrayList<>();
orderd.put(length, list);
}
list.add(word);
}
内容总结
以上是互联网集市为您收集整理的java字符数组的arraylist全部内容,希望文章能够帮你解决java字符数组的arraylist所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。