社区
Java SE
帖子详情
vector中放的是String类型,内容有数字,英文,也有汉字,有什么办法按首字排序啊?
yanjingrong
2014-11-08 10:20:48
vector中放的是String类型,内容有数字,英文,也有汉字,有什么办法按首字排序啊?
这个需要什么算法或者工具啊?
例如 vector中:
12
safe
paper
zombie
鼠标
键盘
....
怎么能排序成:(首字排序)
12
paper
safe
zombie
键盘
鼠标
...全文
306
4
打赏
收藏
vector中放的是String类型,内容有数字,英文,也有汉字,有什么办法按首字排序啊?
vector中放的是String类型,内容有数字,英文,也有汉字,有什么办法按首字排序啊? 这个需要什么算法或者工具啊? 例如 vector中: 12 safe paper zombie 鼠标 键盘 .... 怎么能排序成:(首字排序) 12 paper safe zombie 键盘 鼠标
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tony4geek
2014-11-10
打赏
举报
回复
自己写 方法了。。自己定义排序的规则。Comparable
yanjingrong
2014-11-08
打赏
举报
回复
谢谢,我一会儿试试
姜小白-
2014-11-08
打赏
举报
回复
将vector 的数据添加到list中,然后使用Collections 的 sort方法试试 sort public static <T extends Comparable<? super T>> void sort(List<T> list)根据元素的自然顺序 对指定列表按升序进行排序。 列表中的所有元素都必须实现 Comparable 接口。此外,列表中的所有元素都必须是可相互比较的 (也就是说,对于列表中的任何 e1 和 e2 元素,e1.compareTo(e2) 不得抛出 ClassCastException)。 此排序方法具有稳定性:不会因调用 sort 方法而对相等的元素进行重新排序。 指定列表必须是可修改的,但不必是大小可调整的。 该排序算法是一个经过修改的合并排序算法(其中,如果低子列表中的最高元素小于高子列表中的最低元素,则忽略合并)。 此算法提供可保证的 n log(n) 性能。 此实现将指定列表转储到一个数组中,并对数组进行排序,在重置数组中相应位置处每个 元素的列表上进行迭代。这避免了由于试图原地对链接列表进行排序而产生的 n2 log(n) 性能。 参数: list - 要排序的列表。 抛出: ClassCastException - 如果列表包含不可相互比较 的元素(例如,字符串和整数)。 UnsupportedOperationException - 如果指定列表的列表迭代器不支持 set 操作。 另请参见: Comparable
wyc_
2014-11-08
打赏
举报
回复
import java.util.*; public class SortString { public static void main(String[]args){ LinkedList<String> list = new LinkedList<String>(); list.add("12"); list.add("safe"); list.add("paper"); list.add("zombie"); list.add("鼠标"); list.add("键盘"); Collections.sort(list,new Comparator<Object>(){ public int compare(Object o1,Object o2){ String str1 = (String)o1; String str2 = (String)o2; return str1.compareTo(str2); } }); for(String o:list){ System.out.println(o); } } }
【C++】C++ STL
string
详解
本文系统讲解C++ STL中
string
类的核心机制与使用要点,涵盖构造函数、遍历方式、迭代器、修改操作(append/insert/erase/replace)、容量管理(reserve/resize/shrink_to_fit)、SSO优化、编码支持(UTF-8/GBK)、C兼容接口(c_str/data)、查找与子串(find/substr)、安全访问(at/operator[])、输入处理(getline)及字符串
数字
互转(to_
string
/stoi)。重点分析底层实现差异、时间复杂度陷阱与跨平台行为。
C++字符串全面解析:从std::
string
到
string
_view,性能优化与实战避坑指南
本文系统解析C++字符串体系,重点涵盖std::
string
的内存管理(含SSO优化)、安全操作(访问、修改、转换)及性能陷阱(拼接、容量预分配);深入剖析std::
string
_view的零拷贝特性、生命周期约束与适用场景;同时探讨UTF-8编码下多字节字符处理、Unicode兼容策略及常见坑点(如越界、悬挂引用、编码误判)。
内容
聚焦现代C++(C++11至C++20)标准实践,强调安全性、性能与可移植性。
排序
算法实战指南:Python、JS、C++、SQL中的sort函数用法详解
本文详解Python、JavaScript、C++和SQL中sort函数的核心用法,涵盖基础
排序
、倒序、对象属性
排序
、数据库ORDER BY及多条件
排序
;重点解析各语言
排序
机制差异、常见陷阱(如JS
数字
排序
默认字符串比较)、稳定性与性能权衡,并给出中文拼音
排序
等实际问题的解决方案。
Unity UGUI虚拟键盘开发:模块化设计与中
英文
输入实现
本文详细阐述基于Unity UGUI实现的模块化虚拟键盘开发方案,涵盖四层架构(数据层、逻辑层、UI层、接口层)、中
英文
切换的状态模式设计、拼音输入法核心(词库加载、前缀匹配、候选词
排序
)、与InputField/TextMeshPro的深度集成、移动端适配(安全区、对象池、防连点)及性能优化(减少GC、节流更新)。关键技术包括UGUI事件系统、状态机、RectTransform锚点布局、TextAsset词库管理及跨平台键盘冲突规避。
Unity UGUI集成Pinyin4Net实现中文智能输入与动态切换
本文详解如何在Unity UGUI中集成Pinyin4Net库,构建支持拼音转换、动态输入模式切换(中文/
英文
/
数字
)、候选词实时匹配与UI优化的SmartInputField组件。涵盖架构设计、多音字处理、预计算拼音索引、防抖匹配、对象池与ScrollRect性能优化,以及跨平台兼容性注意事项。
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章