在这里,我们需要查出所有的“出发城市”和“到达城市”,并对每个城市进行计数根据其出现次数来取出几个出现次数最多的城市为热门城市

注:将多个字段的数据合并在一起并且不经过去重处理,可以使用下面这个SQL语句:select DEPARTURE_AIRPORT from USR_AIR_LINE union all select ARRIVAL_AIRPORT from USR_AIR_LINE;

(2)对取出的数据进行计数,排序以及求出最后的“热门城市”:package cn.zifangsky.base;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import java.util.Map.Entry;

public class PopAirportDemo {

public static void main(String[] args) throws Exception {

// 读文件

BufferedReader reader = new BufferedReader(

new FileReader(new File("C:/Users/Administrator/Desktop/airport.txt")));

String temp = "";

List airportCodes = new ArrayList(); // 城市三字码集合

while ((temp = reader.readLine()) != null) {

airportCodes.add(temp);

}

reader.close();

Map countMap = new HashMap();  //

//遍历List形成键值对

for (String code : airportCodes) {

if (!countMap.containsKey(code)) {

countMap.put(code, 1);

} else {

countMap.put(code, countMap.get(code) + 1);

}

}

// 排序

List> list = new ArrayList>(countMap.entrySet());

Collections.sort(list, new Comparator>() {

//自定义排序

public int compare(Entry o1, Entry o2) {

return o2.getValue().compareTo(o1.getValue());

}

});

List result = new ArrayList();  //热门城市集合

int point = 0;

for (Map.Entry mapping : list) {

// System.out.println(mapping.getKey() + " -> " +

// mapping.getValue());

result.add(mapping.getKey());

point++;

//这里取5个热门城市

if (point >= 5)

break;

}

System.out.println(result);

}

}

注:我这里为了简化操作,已经把所有的城市三字码保存到“airport.txt”这个文件中了,这里只专注于整个算法流程而不考虑JDBC等问题

本文出自 “zifangsky的个人博客” 博客,请务必保留此出处http://983836259.blog.51cto.com/7311475/1772447

基础算法7:从数据库某个字段中取出现次数最多的几条数据形成“热门xxx”

标签:热门 算法

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://983836259.blog.51cto.com/7311475/1772447

TAG标签:热门 算法

Java中对查出的数据计数_基础算法7:从数据库某个字段中取出现次数最多的几条数据形成“热门xxx”...相关推荐

  1. 数据增强_开源算法FMix:用于深度学习中增强混合样本数据增强

    作者 介绍 近来混合样本数据增强(MSDA)受到越来越多的关注,其中包括许多成功的变体,例如MixUp和Cut-Mix. 作者在论文中提出了FMix,它是一种MSDA,它使用将阈值应用于从傅立叶空间采 ...

  2. 如何使用SQL批量替换数据库特定字段中部分特定数据

    1.替换数据库特定字段中部分特定数据的SQL语句 SQL语句:update 表名 set 字段名= replace(字段名,'原字符串',需要替换成的字符串') 以将表exam_major中的字段po ...

  3. golang mysql数据同步_使用Golang实现MySQL数据库之间的表同步

    这是用来实现两个 MySQL 数据库中的具有相同字段表的增量同步. 支持按照某种格式增量获取表中的待同步数据. 支持按照列名称向 数据库 的表中批量插入待同步的数据. 安装 go get -u git ...

  4. 上传图片至服务器,写入到数据库Blob字段中,以及从数据库读取Blob信息(iframe父子页面传值)(1)

    最近做了个用户维护功能,涉及到照片的操作. 照片是存到数据库oracle中的Blob字段中. 难点有两个: 1,图片的上传:2,Blob字段的读取. 先说图片的上传吧, 我使用common-fileu ...

  5. 递归_三要素_基础算法必备

    递归_三要素_基础算法必备 目录 第一要素:明确函数作用 第二要素:递归结束条件 第三要素:函数等价关系 第一要素:明确函数作用 对于递归,我觉得很重要的一个事就是,这个函数的功能是什么,他要完成什么 ...

  6. 导出excel HSSFWorkbook 只能最多导出65535条数据

    HSSFWorkbook 最多导出65535条数据 /**      * excel 2003版本的导出方法 支持多个sheet导出 导出的文件后缀为.xls      * 由于excel2003最多 ...

  7. 将页面多个下拉框的值以字符串拼接方式存放至数据库一个字段中

     1,当页面中有多个值,传入Controller并以字符串拼接方式,以","隔开存放至数据库一个字段中,页面中多个<select name="off"&g ...

  8. 【mysql技巧】按某一字段分组取最大(小)值所在行的数据

    mysql技巧--按某一字段分组取最大(小)值所在行的数据,这是mysql数据库程序员经常用到的在处理一些报表数据时候可以活用!那么猎微网将总结几种mysql查询最大值 mysql查询最小值的方法! ...

  9. mysql按某一字段分组取最大(小)值所在行的数据

    mysql按某一字段分组取最大(小)值所在行的数据   mysql技巧--按某一字段分组取最大(小)值所在行的数据,这是mysql数据库程序员经常用到的在处理一些报表数据时候可以活用!那么猎微网将总结 ...

最新文章

  1. 在预装win8的电脑上换win7系统讲解
  2. pandasDataFrame 的定位指定文件
  3. 详解JavaScript中的this
  4. 主机动手系列 — 怎么管理Suse Linux
  5. vba读取csv文件到excel_利用VBA打开顺序文件,并读取
  6. linux新建普通用户
  7. python运算学习之Numpy ------ 数组的切片索引与循环遍历、条件和布尔数组、形状变化...
  8. 事件处理程序中event参数的传递
  9. springboot controller访问不到_Spring Boot 开篇:快速入门
  10. bzoj 3380: [Usaco2004 Open]Cave Cows 1 洞穴里的牛之一(状压+BFS)
  11. matlab矩阵里的最大值和最小值,求助 Matlab 用MAGIC命令产生一个5阶矩阵,并求该矩阵每列的最大值、最小值、平均数、和...
  12. 数学建模的13种常用的方法
  13. 国产快速启动软件ALTRun推荐
  14. 控制系统中对信号求导的注意事项
  15. 安装office2010提示在安装过程中出错 解决方法!
  16. win10如何查看服务器日志文件,系统日志在哪里?win10系统错误日志怎么查看
  17. 滚动(scroll)操作的应用
  18. 流量卡官网源码 有后台带文章系统
  19. Spring事务实现的方式及底层原理
  20. 2016级计算机C++助教工作(12) 第二次上机解题报告

热门文章

  1. Python+OpenCV:理解k近邻(kNN)算法(k-Nearest Neighbour (kNN) algorithm)
  2. 内衬纸缺陷在线检测系统
  3. Windows 10下使用Anaconda安装TensorFlow1.8
  4. 别乎略安身立命的基础本领
  5. ICANN总裁Fadi Chehadé:IPv6峰会全面推动了IPv6在中国的发展与产业落地
  6. 输入3个数a,b,c,按大小顺序输出
  7. 【树形dp】VK Cup 2012 Round 1 D. Distance in Tree
  8. [Go] 函数/方法 的 变参
  9. Apache RewriteCond %{REQUEST_FILENAME} 不起作用问题
  10. Adobe Photoshop源代码以及3800万用户信息泄漏