java中 Set与Map排序输出到Writer详解及实例
发布时间 - 2026-01-11 00:20:35 点击率:次java中 Set与Map排序输出到Writer详解及实例

一般来说java.util.Set,java.util.Map输出的内容的顺序并不是按key的顺序排列的,但是java.util.TreeMap,java.util.TreeSet的实现却可以让Map/Set中元素内容以key的顺序排序,所以利用这个特性,可以将Map/Set转为TreeMap,TreeSet然后实现排序输出。
以下是实现的代码片段:
/**
* 对{@link Map}中元素以key排序后,每行以{key}={value}形式输出到{@link Writer}<br>
* map为空或null时则不向writer写入任何内容
* @param map
* @param writer 为null抛出{@link IllegalArgumentException}
* @throws IOException
*/
public static void storeSortedMap(Map<String,String> map,Writer writer) throws IOException {
if(null==writer)
throw new IllegalArgumentException("the arugment 'writer' must not be null ");
TreeMap<String, String> sortedMap = new TreeMap<String,String>();
if(null!=map)
sortedMap.putAll(map);
BufferedWriter bw=(writer instanceof BufferedWriter)?(BufferedWriter)writer
: new BufferedWriter(writer);
for (Entry<String,String> e:sortedMap.entrySet()) {
bw.write(e.getKey() + "=" + e.getValue());
bw.newLine();
}
bw.flush();
}
/**
* 对 {@link Collection}中元素排序后(去除重复),元素分行输出到{@link Writer}<br>
* collection为空或null时则不向writer写入任何内容
* @param collection
* @param writer 为null抛出{@link IllegalArgumentException}
* @throws IOException
*/
public static void storeSortedSet(Collection<String> collection,Writer writer) throws IOException {
if(null==writer)
throw new IllegalArgumentException("the arugment 'writer' must not be null ");
TreeSet<String> sortedSet = new TreeSet<String>();
if(null!=collection)
sortedSet.addAll(collection);
BufferedWriter bw=(writer instanceof BufferedWriter)?(BufferedWriter)writer
: new BufferedWriter(writer);
for (String e:sortedSet) {
bw.write(e);
bw.newLine();
}
bw.flush();
}
调用示例如下:
Map<String,String> map;
//....
storeSortedMap(map,new FileWriter(new File("c:\\id.txt")));
Set<String,String> set;
//....
storeSortedSet(set,new FileWriter(new File("c:\\trainval.txt")));
生成结果已经是排序的了
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# java中
# Set与Map排序输出
# java
# Set与Map输出Writer
# java中TreeMap排序的示例代码
# Java TreeMap排序算法实例
# java中使用map排序的实例讲解
# 中元
# 抛出
# 不向
# 为空
# 时则
# 希望能
# 谢谢大家
# 顺序排列
# 素以
# gt
# map
# link
# Set
# lt
# writer
# param
# TreeSet
# strong
# null
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
如何在阿里云虚拟服务器快速搭建网站?
三星网站视频制作教程下载,三星w23网页如何全屏?
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
Linux网络带宽限制_tc配置实践解析【教程】
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
装修招标网站设计制作流程,装修招标流程?
JavaScript中的标签模板是什么_它如何扩展字符串功能
javascript基于原型链的继承及call和apply函数用法分析
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
,在苏州找工作,上哪个网站比较好?
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
jQuery中的100个技巧汇总
如何快速搭建安全的FTP站点?
JavaScript如何实现错误处理_try...catch如何捕获异常?
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
Python结构化数据采集_字段抽取解析【教程】
Android滚轮选择时间控件使用详解
制作企业网站建设方案,怎样建设一个公司网站?
如何用花生壳三步快速搭建专属网站?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
Python面向对象测试方法_mock解析【教程】
奇安信“盘古石”团队突破 iOS 26.1 提权
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
Android实现代码画虚线边框背景效果
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
Python并发异常传播_错误处理解析【教程】
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
Laravel怎么实现验证码(Captcha)功能
Bootstrap CSS布局之列表
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
Laravel怎么清理缓存_Laravel optimize clear命令详解
高防服务器租用首荐平台,企业级优惠套餐快速部署
大型企业网站制作流程,做网站需要注册公司吗?
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
网站建设保证美观性,需要考虑的几点问题!
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
Laravel PHP版本要求一览_Laravel各版本环境要求对照
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
手机软键盘弹出时影响布局的解决方法
利用python获取某年中每个月的第一天和最后一天
北京的网站制作公司有哪些,哪个视频网站最好?
如何在宝塔面板创建新站点?
青岛网站建设如何选择本地服务器?
MySQL查询结果复制到新表的方法(更新、插入)
如何有效防御Web建站篡改攻击?

