社区
Java SE
帖子详情
vector中放的是String类型,内容有数字,英文,也有汉字,有什么办法按首字排序啊?
yanjingrong
2014-11-08 10:20:48
vector中放的是String类型,内容有数字,英文,也有汉字,有什么办法按首字排序啊?
这个需要什么算法或者工具啊?
例如 vector中:
12
safe
paper
zombie
鼠标
键盘
....
怎么能排序成:(首字排序)
12
paper
safe
zombie
键盘
鼠标
...全文
312
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
类及其底层实现。主要
内容
包括:1) STL的六大组件(容器、算法、迭代器等)及其关系;2)
string
类的本质是字符数组,相比C字符串具有自动扩容等优势;3)
string
的历史渊源,它早于STL出现且接口设计存在冗余;4)
string
实际上是basic_
string
的别名,支持不同字符编码
类型
;5) 深入解析ASCII、Unicode(UTF-8/16/32)和GBK等编码方案的区别,以及UTF-8兼容ASCII的特性。文章还比较了Windows
C++字符串全面解析:从std::
string
到
string
_view,性能优化与实战避坑指南
字符串处理是编程中的基础操作,其核心在于对字符序列的高效存储、访问与操作。在C++中,字符串的实现经历了从C风格字符数组到现代标准库类的演进,其原理涉及内存管理、编码转换和性能优化等多个层面。理解这些底层机制对于编写高效、安全的代码具有重要技术价值,尤其在处理用户输入、文件解析、网络通信等应用场景时。本文聚焦C++字符串处理中的关键实践,深入探讨std::
string
的内存管理策略与短字符串优化(SSO)机制,并解析std::
string
_view如何通过零拷贝视图提升性能,同时涵盖多字节字符处理等常见陷阱
排序
算法实战指南:Python、JS、C++、SQL中的sort函数用法详解
排序
是计算机科学中的基础算法,其核心原理是通过比较和交换操作,将数据集合按照特定规则重新排列。从时间复杂度来看,高效的
排序
算法如快速
排序
、归并
排序
能达到O(n log n),而现代编程语言内置的sort函数通常采用Timsort或Introsort等混合算法,兼顾了性能和稳定性。掌握
排序
技术对于数据处理、搜索优化和系统性能提升至关重要,尤其在数据库查询、数据分析和大规模系统开发中应用广泛。本文聚焦于工程实践中的高频需求,针对c++倒序sort怎么写、sql
排序
等具体问题,通过Python、JavaScrip
Unity UGUI虚拟键盘开发:模块化设计与中
英文
输入实现
在Unity应用开发中,自定义输入系统是提升用户体验和界面一致性的关键技术。其核心原理在于通过事件驱动架构,将输入逻辑、UI呈现与数据管理分离,实现高效可控的交互处理。这种模块化设计的技术价值在于提供了高度的可定制性和跨平台适配能力,尤其适用于游戏内聊天、教育软件、信息终端等需要沉浸式或特定风格输入的场景。本文聚焦于UGUI虚拟键盘的实现,深入探讨了状态机管理、拼音输入集成等热词技术,并提供了从基础布局到性能优化的完整工程实践方案。
Unity UGUI集成Pinyin4Net实现中文智能输入与动态切换
在Unity应用开发中,中文输入处理是提升用户体验的关键环节。其核心原理在于将中文字符转换为拼音,并基于此进行智能匹配与提示。这项技术通过集成拼音转换库,赋予UI组件理解中文拼音的能力,从而在灵活性、性能和包体大小之间取得平衡。其技术价值在于能够实现不依赖系统输入法的深度自定义输入解决方案,支持实时搜索、智能提示和
内容
过滤等功能。典型的应用场景包括游戏内的物品搜索、聊天框好友@功能以及角色昵称输入等需要中文智能输入的界面。本文以Unity UGUI框架为基础,详细介绍了如何集成Pinyin4Net库,构建一
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章