科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道list中如何判断相同值的个数?

list中如何判断相同值的个数?

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

list中如何判断相同值的个数?

作者:csdn 来源:csdn 2009年12月17日

关键字: JavaSE 问答 java

  • 评论
  • 分享微博
  • 分享邮件

list中如何判断相同值的个数?

比如说一个list,里面是1,1,2,2,3,3,3,4,4
如何得到1有2个,2有2个,3有3个,4有2个?

 

我有个笨办法。
比如你已经知道list里的数就0-9之间,就建个数组,假设叫count[10]
然后,count[list里的数]++;
如果list里的数个数未知,也是这么个意思,就是麻烦点。

 

List <Integer> list = new ArrayList <Integer>();
Map <Integer,Integer> map = new HashMap <Integer,Integer>();
for(Integer i :list){
map.put(i, map.get(i)+1);
}

List <Integer> list = new ArrayList <Integer>();
Map <Integer,Integer> map = new HashMap <Integer,Integer>();
for(Integer i :list){
map.put(i, map.get(i)+1);
}
 

 

不一定用Integer,可以改为任意object
List list = new ArrayList(); // 里面是1,1,2,2,3,3,3,4,4


Map <Integer,Object> map = new HashMap <Integer,Object>();
for(Object i : list){
  map.put(i, map.get(i)+1);
}

你先把你的数组赋值给另一个数组,两个数组对比,只要“下标”不一样,并且相等的,就找出来。
你先把你的数组赋值给另一个数组,两个数组对比,只要“下标”不一样,并且相等的,就找出来。
 
 
Java code

package com.java.others;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

/**
 * 计算字符串的字符出现的次数
 * @author lichaoever
 *
 */
public class getCount {

    List<String> list = new ArrayList<String>();
    Scanner s = new Scanner(System.in);
    public getCount() {
        System.out.println("请输入字符:");
        this.count(s.nextLine());
    }
    private void count(String str)
    {
        char[] c = str.toCharArray();
        for(char s : c)
        {
            list.add(String.valueOf(s));
        }
        Collections.sort(list);
       
        for(String s : list)
        {
            int begin = list.indexOf(s);
            int end = list.lastIndexOf(s);
           
            System.out.println("字母'"+ s + "'有:"+(end - begin + 1)+"个");
        }
    }
    public static void main(String[] args) {
        new getCount();
    }
}

 

 

Java code
import java.util.ArrayList; import java.util.List; public class B { public static void main(String[] args) { List<Integer> list = initData(); int x = list.size(); while(list.size()!=0){ List<Integer> arr = list; Integer obj = list.get(0); List<Integer> l1 = new ArrayList<Integer>(); l1.add(obj); arr.removeAll(l1); System.out.println(obj+"出现"+(x-arr.size())+""); x = arr.size(); } } public static List<Integer> initData(){ List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(1); list.add(2); list.add(2); list.add(3); list.add(3); list.add(3); list.add(4); list.add(4); return list; } }


    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章