`
phantom
  • 浏览: 160272 次
社区版块
存档分类
最新评论

CountSortTool

阅读更多
java 代码
  1. package org.jh.app.count;   
  2.   
  3. import java.util.ArrayList;   
  4. import java.util.Collections;   
  5. import java.util.List;   
  6. import java.util.Set;   
  7.   
  8. import org.apache.commons.collections.Bag;   
  9. import org.apache.commons.collections.BagUtils;   
  10. import org.apache.commons.collections.bag.HashBag;   
  11.   
  12. public class CountSortTool {   
  13.     static public class Sort implements Comparable<Sort> {   
  14.         Object key;   
  15.   
  16.         int num = 1;   
  17.   
  18.         Sort(Object key) {   
  19.             this.key = key;   
  20.         }   
  21.   
  22.         public Sort(Object o, int count) {   
  23.             this.key = o;   
  24.             num = count;   
  25.         }   
  26.   
  27.         public String toString() {   
  28.             return key + ":" + num + "\n";   
  29.         }   
  30.   
  31.         public boolean equals(Object obj) {   
  32.             System.out.println("equals");   
  33.             if (this == obj)   
  34.                 return true;   
  35.             if (obj instanceof Sort) {   
  36.                 Sort s = (Sort) obj;   
  37.                 if (s.key.equals(s.key)) {   
  38.                     num++;   
  39.                     s.num++;   
  40.                     return true;   
  41.                 }   
  42.             }   
  43.             return false;   
  44.         }   
  45.   
  46.         public Object getKey() {   
  47.             return key;   
  48.         }   
  49.   
  50.         public void setKey(Object key) {   
  51.             this.key = key;   
  52.         }   
  53.   
  54.         public int getNum() {   
  55.             return num;   
  56.         }   
  57.   
  58.         public void setNum(int num) {   
  59.             this.num = num;   
  60.         }   
  61.   
  62.         public int compareTo(Sort o) {   
  63.             return -num + o.num;   
  64.         }   
  65.   
  66.     }   
  67.     public void push(String key) {   
  68.         bag.add(key);   
  69.     }   
  70.   
  71.     Bag bag = BagUtils.typedBag(new HashBag(), String.class);   
  72.   
  73.     public List<Sort> sort() {   
  74.   
  75.         Set objs = bag.uniqueSet();   
  76.         List<Sort> listR = new ArrayList<Sort> ();   
  77.         for (Object o : objs) {   
  78.             listR.add(new Sort(o, bag.getCount(o)));   
  79.         }   
  80.         Collections.sort(listR);   
  81.         return listR;   
  82.     }   
  83. }   
分享到:
评论
1 楼 phantom 2007-06-28  
package org.jh.app.count;

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

import org.apache.commons.collections.Bag;
import org.apache.commons.collections.BagUtils;
import org.apache.commons.collections.bag.HashBag;

public class CountSortTool {
	static public class Sort implements Comparable<Sort> {
		Object key;

		int num = 1;

		Sort(Object key) {
			this.key = key;
		}

		public Sort(Object o, int count) {
			this.key = o;
			num = count;
		}

		public String toString() {
			return key + ":" + num + "\n";
		}

		public boolean equals(Object obj) {
			System.out.println("equals");
			if (this == obj)
				return true;
			if (obj instanceof Sort) {
				Sort s = (Sort) obj;
				if (s.key.equals(s.key)) {
					num++;
					s.num++;
					return true;
				}
			}
			return false;
		}

		public Object getKey() {
			return key;
		}

		public void setKey(Object key) {
			this.key = key;
		}

		public int getNum() {
			return num;
		}

		public void setNum(int num) {
			this.num = num;
		}

		public int compareTo(Sort o) {
			return -num + o.num;
		}

	}
	public void push(String key) {
		bag.add(key);
	}

	Bag bag = BagUtils.typedBag(new HashBag(), String.class);

	public List<Sort> sort() {

		Set objs = bag.uniqueSet();
		List<Sort> listR = new ArrayList<Sort> ();
		for (Object o : objs) {
			listR.add(new Sort(o, bag.getCount(o)));
		}
		Collections.sort(listR);
		return listR;
	}
}

相关推荐

    pre_o_1csdn63m9a1bs0e1rr51niuu33e.a

    pre_o_1csdn63m9a1bs0e1rr51niuu33e.a

    matlab建立计算力学课程的笔记和文件.zip

    matlab建立计算力学课程的笔记和文件.zip

    FT-Prog-v3.12.38.643-FTD USB 工作模式设定及eprom读写

    FT_Prog_v3.12.38.643--FTD USB 工作模式设定及eprom读写

    matlab基于RRT和人工势场法混合算法的路径规划.zip

    matlab基于RRT和人工势场法混合算法的路径规划.zip

    matlab基于matlab的两步定位软件定义接收机的开源GNSS直接位置估计插件模块.zip

    matlab基于matlab的两步定位软件定义接收机的开源GNSS直接位置估计插件模块.zip

    office 2016三和一精简版

    office 2016三和一精简版

    Scrapy-1.0.2-py2-none-any.whl

    文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    麦肯锡咨询顾问必备宝典-时间管理.ppt

    麦肯锡咨询顾问必备宝典-时间管理.ppt

    setuptools-0.6c10-py2.4.egg

    文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    麦肯锡顾问的黄金思考方法.pptx

    麦肯锡顾问的黄金思考方法.pptx

    91fdd461elb59a4ce8dfcfc46bc283a7.msi

    91fdd461elb59a4ce8dfcfc46bc283a7.msi

    ansys maxwell

    ansys maxwell

    5-5.py

    5-5

    xx广告促销计划流程实施手册.ppt

    xx广告促销计划流程实施手册.ppt

    仿小米商城微信小程序源码+项目说明.zip

    仿小米商城微信小程序源码+项目说明.zip

    pytest-4.6.0.tar.gz

    文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    Scrapy-2.10.1.tar.gz

    文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    麦肯锡xx客户满意服务.ppt

    麦肯锡xx客户满意服务.ppt

    网课专注度监测预警系统基于yolov5目标检测的网课专注度检测系统源码+模型+pyqt5界面.zip

    网课专注度监测预警系统基于yolov5目标检测的网课专注度检测系统源码+模型+pyqt5界面.zip

    基于python+Scrapy的农业数据爬虫设计与实现

    【作品名称】:基于python+Scrapy的农业数据爬虫设计与实现 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 基于Scrapy的农业数据爬虫设计与实现 . ├── Crops # web服务 │ ├── app.py │ ├── static # 静态文件 │ │ ├── css │ │ └── js │ └── templates # 静态页面 │ ├── corn.html │ ├── corns.html │ ├── index.html │ ├── porcor.html │ ├── pork.html │ └── porks.html ├── README.md └── spider # 爬虫及数据处理 ├── integration # 数据汇总 │ └── corn.py └── tutorial # 爬虫 ├── scrap

Global site tag (gtag.js) - Google Analytics