android 网络请求参数排序

2023-10-27

在网络开发过程中客户端跟服务器经常遇到各种各样的验证方式,参数排序就是常见的方法之一,按照参数的首字母升序或者降序,参数少的话可以主观的排序就行了,但是参数多的时候肯定不能这么干了,下面介绍几个方法

  0. 以Key进行排序

第一种。直接声明TreeMap这样输出的就是排序好的

Map<Integer, Person> map = new  TreeMap<Integer, Person>();
map.put(key,vale);

第二种。先声明HashMap<String, Integer>();然后HashMap在转TreeMap这样输出的就是排序好的


Map<Integer, Person> map = new  HashMap<Integer, Person>();
TreeMap treemap = new  TreeMap(map);

  1. 以Value进行排序
    先声明一个HashMap对象:
    Map<String, Integer> map = new  HashMap<String, Integer>();

    然后我们可以将Map集合转换成List集合中,而List使用ArrayList来实现如下:

    List<Entry<String,Integer>> list =
         new  ArrayList<Entry<String,Integer>>(map.entrySet());

    最后通过Collections.sort(List l, Comparator c)方法来进行排序,代码如下:

    Collections.sort(list, new  Comparator<Map.Entry<String, Integer>>() {
         public  int  compare(Map.Entry<String, Integer> o1,
                 Map.Entry<String, Integer> o2) {
             return  (o2.getValue() - o1.getValue());
         }
    });

    上述代码是讲map中的value按照逆序排序,如果需要按照升序进行排序的话,只需要修改o2.getValue() - o1.getValue()为o1.getValue() - o2.getValue()即可






参考 :http://www.cnblogs.com/avivahe/p/5657071.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android 网络请求参数排序 的相关文章

  • c语言在输入字符串时输入空格的方式

    1 最容易的 将一个字符串分为一个一个字符输入 char s 100 int i 0 while scanf c s i s i n i s i 0 遇到换行停止输入 并且将换行替换为 0 printf s n s 但是如果在这段程序前还有
  • 每日一题:最大和上升子序列

    最大和上升子序列 题目 Daimayuan Online Judge 动态规划 和最长上升子序列类似 状态划分 以第i个数结尾的上升子序列的倒数第二个数可能是第一个数 第二个数 第i 1个数 从第一个数开始枚举 以它为结尾 首先f i a
  • bboss 流批一体化框架 与 数据采集 ETL

    数据采集 ETL 与 流批一体化框架 特性 高效 稳定 快速 安全 bboss 是一个基于开源协议 Apache License 发布的开源项目 主要由以下三部分构成 Elasticsearch Highlevel Java Restcli
  • feign调用使用Apache Http遇到问题汇总

    feign调用使用Apache Http目前已知会造成三个问题 1 RequestMapping必须显式指定调用方式 method RequestMethod POST 否则默认会使用get请求 这会造成之前一些没有显式指定调用方式的方法报
  • linux下quartus出现ModelSim executable not found和Unable to checkout a license. Make sure...... 错误

    一定要把Tools gt Options gt EDA Tool Options设置到bin下YOUR PATH altera 13 1 modelsim ase bin 注意是modelsim ase不是modelsim ae 而且有bi
  • C++内存分析工具

    C 内存分析工具 背景 内存泄漏在c 中是一个常见的问题 有一个好用的内存分析工具就是很有必要的 下面来介绍两个简单好用的内存分析工具 Valgrind和Sanitizer Valgrind valgrind是一种非侵入式的内存检测工具 在
  • TTS

    FastSpeech 基于 Transformer 的前馈网络 用于并行生成 TTS 梅尔谱图 FastSpeech 模型与自回归 Transformer TTS 相比 梅尔谱图生成速度加快了 270 倍 端到端语音合成速度加快了 38 倍
  • 【电商专享】聚划算活动海量商品一键报名,省时省力!

    电商专享 聚划算活动海量商品一键秒参与 省时省力 本机器人支持自动登录淘宝账号 输入密码并智能通过验证 将根据表格内容自动填写商品信息完成聚划算活动报名 并支持多款商品上传
  • 又是沙雕的一天-------关于错误关掉任务管理器之后出现的开机黑屏的解决

    沙雕经过 肝了一下午的实验 然后脑子十分不清醒的我 看着自己电脑上N多的窗口 默默的任务栏 gt 右键 gt 任务管理器 gt 任务管理器 gt 结束任务 然后华丽丽的让电脑黑屏了 想起社团大佬的教诲 默默的强制关机 好使 接着登陆界面出现
  • C++11:std::move和std::forward

    标准库函数 std move 既然编译器只对右值引用才能调用转移构造函数和转移赋值函数 而所有的命名对象都只能是左值引用 如果已知一个命名对象不再被使用而想对他调用转移构造函数和转移赋值函数 也就是把一个左值引用当做右值引用来使用 怎么做呢
  • 异步通信起始位正确检测的VHDL实现

    异步通信起始位正确检测的VHDL实现
  • apache做反向代理服务器

    http yahoon blog 51cto com 13184 162922 原创作品 允许转载 转载时请务必以超链接形式标明文章 原始出处 作者信息和本声明 否则将追究法律责任 http yahoon blog 51cto com 13
  • 游戏开发unity杂项知识系列:unity可以使用的小技巧

    插眼 总结 个人觉得这些技巧都挺实用的 参考 Unity3d 提升开发效率的小技巧 第一集 哔哩哔哩 bilibili 一共有五集 这是第一集
  • vue项目中获取今天,昨天,明天时间方法

    在项目中有这个需求 就是在时间查询条件了中 需要默认前天的时间 如果你项目中需要使用今天 昨天 明天时间方法同样适用 具体方法如下 1 vue调用说明 比如我是需要前天的时间 this getDay 2 这个是不包括时分秒的 更多例子如下
  • springMVC中两种validation的简单使用

    本文转自 http elf8848 iteye com blog 1299587 Spring 基于注释的校验机制 1 支持JSR303 Bean Validation定义的校验规范 2 支持Spring框架定义的Validator接口定义
  • 首批!八家大模型企业面向全民开放

    Datawhale干货 开放 国产大模型 编辑 司玉鑫 前 言 在科技领域 一项重要的消息引起了广泛关注 8月31日凌晨 首批大模型产品终于获得了正式批准 这一消息不仅令行业内的巨头企业欢欣鼓舞 也使创业公司和科研院校感到振奋 这些获得批准
  • Oracle (内连接)与(外连接)区别

    表t user1 t user2 t user3 各有id name两列 id name 1 10A 2 20A id name 1 10B 3 30B id name 1 10C 4 40C 连接分为两种 内连接与外连接 A 内连接 内连
  • 高版本IAR打开低版本编译的程序出现的问题

    山外KEA程序一打开就出现这个 The project file vcan Kinetis ewp is in an old format Would you like to convert it for use with this ver
  • keil MDK之RTX的消息邮箱的API函数

    一 RTX消息邮箱的API函数 RTX消息邮箱的API函数总共有8个 如下图 下面就将几个这里要用到的函数 1 os mbx declare函数原型 define os mbx declare name Name of the mailbo
  • 深度可分离卷积及其代码实现

    深度可分离卷积 depthwise separable conv 一共两步 第一步先进行逐通道卷积 Depthwise Convolution 第二步进行 逐点卷积 Pointwise Convolution 普通卷积 输入是三个通道 输出

随机推荐

  • acrobat页面显示问题

    最近对着电脑的时间比以前多太多了 每天都用Acrobat看pdf 千万别告诉我你用Adobe Reader 为了保护眼睛 需要更改下页面显示 一 背景颜色 经常对着电脑看文档的人 需要修改下背景颜色 通常默认的背景色都是白色的 阅读时间短倒
  • 【Nginx】常用配置

    一 问题 1 1 环境 电脑环境 Windows 10 开发工具 IntelliJ IDEA 数据库环境 Redis 3 2 100 JDK环境 Jdk1 8 1 2 问题 Nginx 基本配置是什么 二 解答 1 配置 2 检测 3 启动
  • 毕业设计题目

    旅游社交系统 基于Web的学校教室租赁系统 学校在线二手交易平台 基于移动平台的轻博客系统开发 基于web的IT技术论坛 基于Java EE新闻管理系统的设计与实现 网上员工考试培训系统 基于JAVA JSP SSH WEB的简单邮件系统设
  • C++数组

    数组是有序的元素序列 长像 int a 5 1 2 3 4 5 数组名单独使用 等同于指向数组内存首地址的指针 也就是数组名可以当指针使用 Over
  • DedeCMS内容页受统计影响打开速度慢的解决方法

    织梦DedeCMS网站被挂马后解决方案 DedeCMS内容页受统计影响打开速度慢的解决方法 Dedecms文章内容页受统计影响打开速度较慢的解决方法 dedecms文章内容页加载统计的时候会有卡住停顿 如果网速慢干脆就停止下边网页的加载 D
  • [转]基于NXP i.MX8QM的QNX之汽车数位仪表板方案

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额0 1元起步 多少随意 声明 本文只用于个人学习交流 若不慎造成侵权 请及时联系我 立即予以改正 email 174176320 qq com 基于NXP i MX
  • Unity——IK动画契合匹配初体验

    学到siki学院的动画系统那一章节的IK动画Siki 顺便作点笔记 1 什么是IK IK Inverse Kinematics 即反向动力学 即可以使用场景中的各种物体来控制和影响角色身体部位的运动 一般来说骨骼动画都是传统的从父节点到子节
  • 夜神模拟器如何进入adb

    夜神模拟器如何进入adb 进入夜神模拟器得安装路径 我这里是这个路径 D moniqi Nox bin 然后打开cmd 执行adb connect 127 0 0 1 62001 然后再执行命令adb devices 显示这个内容就说明连接
  • java基础 —— 高级编程篇

    java基础 高级编程篇 多线程 基本概念 线程的创建和使用 Thread类 创建 多 线程 线程的调度 线程的分类 线程的生命周期 线程同步 同步机制 死锁 死锁处理方法 线程通信 生产者 消费者问题 java常用类 String类 St
  • ROS navigation调试基础(实现真实机器人导航)

    最近使用了一下ROS中非常经典的导航包navigation 并通过自己的激光雷达以及相机里程计驱动了自己的小车在室内进行简单的定位以及导航 在此记录一下以免后期忘记 1 导航包安装 ROS中navigation导航包可以通过GitHub上下
  • Nacos控制台下线服务报错

    Nacos控制台下线服务报错 现象 在 Nacos控制台服务列表 点击下线按钮 Nacos控制台报错 提示错误信息 naming instance metadata did not find the Leader node 原因 Nacos
  • maven项目编译时报错org.junit包不存在解决办法

    在用idea快速搭建项目的时候 生成的pom xml文件里面对junit的依赖是 junit junit 4 11 test 在进行编译的时候 maven项目报错org junit包不存在 解决方法是将 test 这一行注释掉 测试用例记得
  • LLVM是什么

    有什么说的不对的地方 还请多多支出 谢谢 概述 LLVM 全称是这个Low Level Virtual Machine 底层虚拟机 名字是带有虚拟机 但是现在早已和虚拟机没有任何关系了 是整个LLVM项目 我目前了解的有5部分 LLVM 是
  • Echarts实现图形重新绘制方法总结

    1 业务需求 vue项目使用Echarts进行数据看板绘制 当数据发生改变时 需要重新进行图形绘制 2 解决方案 目前网上流传的方法 myChart setOption option true 亲测无效 因此重找了资料找到了解决方法 Ech
  • Windows系统下安装Metasploit

    Windows系统下安装Metasploit metasploit介绍 metasploit是一款开源的安全漏洞检测工具 里面含有海量的漏洞供大家直接使用 当然 你也可以自己去扩展漏洞库 下载软件包 下载地址 https windows m
  • 原生js写画布

    html部分
  • 【网安自学】XSS漏洞防御

    一 XSS漏洞的产生很大原因是 程序没有经过过滤或者过滤的敏感字符不严密就直接输出或写入数据库 导致一些别有用心的人通过构造巧妙的脚本恶意代码来实施攻击 二 根据漏洞产生的原因 防御XSS漏洞的方法就是对敏感字符进行转义和过滤 方法一 ht
  • 用Python探索性数据分析和数据可视化:从真实世界数据集中学习基础技能!

    以下是探索电子商务销售记录数据洞见的示例 涵盖了使用Matplotlib和Seaborn创建多种图表形式 随着互联网的发展以及消费者购物行为的改变 电子商务已经成为现代商业中不可或缺的组成部分 对于电子商务公司而言 深入分析销售数据可以帮助
  • 你真的了解websocket吗?(websock原理详解)

    什么是websocket WebSocket是在2008年6月诞生 2011年由IEFT标准化为RFC 6455 WebSocket是一种在单个TCP连接上进行全双工通信的协议 使得客户端和服务器之间的数据交换变得更加简单 并允许服务端主动
  • android 网络请求参数排序

    在网络开发过程中客户端跟服务器经常遇到各种各样的验证方式 参数排序就是常见的方法之一 按照参数的首字母升序或者降序 参数少的话可以主观的排序就行了 但是参数多的时候肯定不能这么干了 下面介绍几个方法 0 以Key进行排序 第一种 直接声明T