java按字符串中出现的顺序对字符数组进行排序
如果我有一个用字符填充的字符数组,并且我有一个用一些初始值初始化的String
,那么如何确保数组中的字符按照它们在字符串中的出现顺序进行排序
您可以做出以下附加假设:
- 未使用的字符应按其原始顺序显示在末尾李>
- 如果同一字符在数组中多次出现,则它们可以引用字符串中的同一个出现李>
例如,假设以下两个初始化变量:
char [] arr= new char[5] { 'a', 'd', 'v', 'd', 'j' };
String str = "dad";
然后,预期的结果是变量arr
将对字符进行如下排序:
{ 'd', 'a', 'd', 'v', 'j' }
# 1 楼答案
以下是一个可能的解决方案:
更新:toString方法
更新2:保留不在字符串中的元素的顺序
# 2 楼答案
我写的这个解决方案(部分)解决了这个问题
仍然缺少的是此功能的实现:
此处找到了计算字符串中字符出现次数的方法:https://stackoverflow.com/a/8910767/379173