TreeSet练习
来源:互联网 发布:万户网络 广州公司 编辑:程序博客网 时间:2024/06/10 16:09
对多个字符串(不重复)按照长度排序(由短到长)
import java.util.Comparator;import java.util.Set;import java.util.TreeSet;public class TreeSetDemo2 {public static void main(String[] args) {//对多个字符串(不重复)按照长度排序(由短到长)/* * 思路: * 1.多个字符串,需要容器存储。 * 2.选择哪个容器呢? 数组?StringBuffer,StringBuilder? 集合 * 3.强调不重复,所以用Set集合 * 4.还需要排序,用TreeSet集合 */sortStringByLength();}public static void sortStringByLength(){Set set = new TreeSet(new CoparatorByString());set.add("haha");set.add("abc");set.add("zz");set.add("nba");set.add("xixixi");for(Object o:set){System.out.println(o);}}}class CoparatorByString implements Comparator{@Overridepublic int compare(Object o1, Object o2) {String s1 = (String)o1;String s2 = (String)o2;//比较长度int temp=s1.length()-s2.length();//长度相同再按照自电脑顺序排序return temp==0?s1.compareTo(s2):temp;}}
练习2:对多个字符串(重复),按照长度排序
import java.util.Comparator;public class TreeSetDemo3 {public static void main(String[] args) {/* * 练习:对多个字符串(重复),按照长度排序 * 思路: * 1.能使用TreeSet吗?不能 * 2.可以存储到数组,List. */sortStringByLength2();}public static void sortStringByLength2() {String[] str = {"nba","haha","abccc","zero","xixi","nba","cctv","zero"};//使用比较器//排序需要进行嵌套for循环CoparatorByString2 com = new CoparatorByString2();for(int x=0;x<str.length;x++){for(int y=0;y<str.length;y++){if(com.compare(str[x], str[y])>0){swap(str,x,y);}}}for(String s:str){System.out.println(s);}}public static void swap(String[] str, int x, int y) {String temp =null;temp = str[x];str[x]=str[y];str[y]=temp;}}class CoparatorByString2 implements Comparator{@Overridepublic int compare(Object o1, Object o2) {String s1 = (String)o1;String s2 = (String)o2;//比较长度int temp=s2.length()-s1.length();//长度相同再按照字典顺序排序return temp==0?s2.compareTo(s1):temp;}}
0 0
- TreeSet练习
- TreeSet练习
- TreeSet练习
- TreeSet 练习
- java Treeset 练习
- java TreeSet练习
- 集合框架(TreeSet练习)
- Java TreeSet练习
- TreeSet类练习
- Java——TreeSet练习
- java 集合框架-TreeSet练习
- java基础入门----TreeSet练习1
- java基础入门----TreeSet练习2
- TreeSet集合框架的使用练习
- Java_基础—TreeSet原理及练习
- 集合框架——Set(TreeSet练习)
- TreeSet
- TreeSet
- 插入排序
- 撒旦来了隐私政策
- Retrofit2.0强力架构
- 让文字无法被选中
- Makefile经典教程(掌握这些足够)
- TreeSet练习
- C# 用 checked 做字段,但checked是C#关键字
- JVM垃圾收集
- Python xrange与range的区别
- 希尔排序
- Android防止按钮连续点击
- leetcode 300. Longest Increasing Subsequence 解题报告
- 欢迎使用CSDN-markdown编辑器
- Struts 2读书笔记------struts 2的标签