Java ArrayList字符串选择排序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java ArrayList字符串选择排序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1205字,纯文字阅读大概需要2分钟。
内容图文
![Java ArrayList字符串选择排序](/upload/InfoBanner/zyjiaocheng/728/1d187f96225f43e69463f30ea5ea2ec1.jpg)
我正在努力在字符串的ArrayList上进行选择排序以按字母顺序排列它们.我不知道我做错了什么.但它对我来说不合适.继承我的代码.
ArrayList<String> list = new ArrayList<String>();
list.add("a");
list.add("d");
list.add("f");
list.add("c");
System.out.println(list);
int i;
int j;
int minValue;
int minIndex;
for (i=0; i<list.size(); i++) {
System.out.println(list.get(i));
char iLetter = (list.get(i).charAt(0));
int iValue = (int) iLetter;
minValue = iValue;
minIndex = i;
for(j=i; j<list.size(); j++) {
char jLetter = list.get(j).charAt(0);
int jValue = (int) jLetter;
if (jValue < minValue) {
minValue = jValue;
minIndex = j;
}
}
if(minValue < iValue) {
int temp = iValue;
char idx = list.get(minIndex).charAt(0);
int idxValue = (int) idx;
iValue = idxValue;
idxValue = temp;
}
}
System.out.println(list);
}
它仍然将其打印为[“a”,“d”,“f”,“c”]
解决方法:
您没有在循环中的任何位置更新列表,因此它仍然未排序.
为了实际交换列表的元素,请替换:
if(minValue < iValue) {
int temp = iValue;
char idx = list.get(minIndex).charAt(0);
int idxValue = (int) idx;
iValue = idxValue;
idxValue = temp;
}
有:
if(minValue < iValue) {
Collections.swap (list, i, minIndex);
}
Collections.swap执行以下修改:
list.set(i, list.set(minIndex, list.get(i)));
现在输出将是
[a, c, d, f]
内容总结
以上是互联网集市为您收集整理的Java ArrayList字符串选择排序全部内容,希望文章能够帮你解决Java ArrayList字符串选择排序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。