java 如何把一个list里的相同数的出现次数输出成另一个list
比如list的值是{1,2,2,5,4,4,3,2}1出现1次,2出现3次,5出现1次,4出现2次,3出现1次输出到一个新的list里{1,3,1,2,1}...
比如list的值是{1,2,2,5,4,4,3,2}
1出现1次,2出现3次,5出现1次,4出现2次,3出现1次
输出到一个新的list里{1,3,1,2,1} 展开
1出现1次,2出现3次,5出现1次,4出现2次,3出现1次
输出到一个新的list里{1,3,1,2,1} 展开
4个回答
展开全部
java将list相同次数输出到另外一个list,可以使用map作为中间转换的结合,将重复的次数赋值给value,而key值为list原来的内容,实例如下:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();//新建一个集合
list.add(1);
list.add(2);
list.add(2);
list.add(5);
list.add(4);
list.add(4);
list.add(3);
list.add(2);
Map<Integer, Integer> map = new HashMap<Integer, Integer>();//新建一个map集合,用来保存重复的次数
for(Integer obj: list){
if(map.containsKey(obj)){//判断是否已经有该数值,如有,则将次数加1
map.put(obj, map.get(obj).intValue() + 1);
}else{
map.put(obj, 1);
}
}
ArrayList<Integer> newList = new ArrayList<Integer>(map.values());//新建另外一个list
System.out.println(newList.toString());
}
}
展开全部
利用 indexOf功能,检索到不同index的,就同时删除两个、添加到另一个List中。
——如果考虑出现更多次数的,就直到indexOf=-1,再删除自己。
——如果考虑出现更多次数的,就直到indexOf=-1,再删除自己。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
旧list:list1 新list:list2
取list1的第一个值,放进list2中,循环list1,比较是否和list1的第一个值相同,如果相同删除.然后取list1的第一个值,放进list2中,循环list1,比较是否和list1的第一个值相同,如果相同删除,以此就可以了,代码自己实现吧,都给你写出来就没意思了
取list1的第一个值,放进list2中,循环list1,比较是否和list1的第一个值相同,如果相同删除.然后取list1的第一个值,放进list2中,循环list1,比较是否和list1的第一个值相同,如果相同删除,以此就可以了,代码自己实现吧,都给你写出来就没意思了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个是数组吧
{1,2,2,5,4,4,3,2}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(2);
list.add(5);
list.add(4);
list.add(4);
list.add(3);
list.add(2);
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for(Integer obj: list){
if(map.containsKey(obj)){
map.put(obj, map.get(obj).intValue() + 1);
}else{
map.put(obj, 1);
}
}
ArrayList<Integer> newList = new ArrayList<Integer>(map.values());
System.out.println(newList.toString());
}
}
--------测试
[1, 2, 1, 3, 1]
{1,2,2,5,4,4,3,2}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(2);
list.add(5);
list.add(4);
list.add(4);
list.add(3);
list.add(2);
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for(Integer obj: list){
if(map.containsKey(obj)){
map.put(obj, map.get(obj).intValue() + 1);
}else{
map.put(obj, 1);
}
}
ArrayList<Integer> newList = new ArrayList<Integer>(map.values());
System.out.println(newList.toString());
}
}
--------测试
[1, 2, 1, 3, 1]
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询