小吴是S大计算机软件学院的大四学生,学的是java,即将从S大毕业的的小吴来秋招的单位实习的第一天,他的师傅老梁给他分配了一个小任务,叫他先练练手
老梁:“小吴啊,先给我写个工具类吧,给你一个list,里面存放String,给我返回一个排序后的list的吧”
小吴心想很easy啊,答道:“好啊,5分钟就可以了”
/** * * @param lists 需要排序的list * @return 返回排序后的list */ public static List<String> sortForStr(List<String> lists){ if(null != lists){ if(lists.contains(null)) lists.remove(null); Collections.sort(lists); return lists; }else{ return null; } }
老梁上了一个厕所回来后,看看说:"我需要把特定的元素置顶,简单的说就是把指定的元素放入list的第一个!"
小吴心想我记得有个add(int index,Object obj)的方法的,回答道:”好!“
10分钟后
/** * * @param lists 需要排序的list * @param str 排序后需要置顶的元素 * @return 排序后且置顶元素置顶后的list */ public static List<String> topElement(List<String> lists,String str){ if(null != lists){ sortForStr(lists); if(lists.contains(str)){ int index=lists.indexOf(str); lists.add(0, lists.get(index)); lists.remove(index+1); } return lists; }else{ return null; } }
老梁看了看,觉得还不错吧~,又说今天最后一个简单的任务,把list中重复的元素删了再排序吧~
小吴笑着说,我已经写好了~
/** * * @param lists 存在重复元素的list * @return 去重后排序的list */ public static List<String> removeSameElementAndSort(List<String> lists){ if(null != lists){ HashSet<String> hs=new HashSet<String>(lists); lists.clear(); lists.addAll(hs); sortForStr(lists); return lists; }else{ return null; } }
老梁说:”不错!只能够看吧,今天你就把collection集合框架好好看看吧,明天讲给我听听~“
以下附全部代码(有错请指正)
import java.util.Collections; import java.util.HashSet; import java.util.List; public class CollectionUtil { /** * * @param lists 需要排序的list * @return 返回排序后的list */ public static List<String> sortForStr(List<String> lists){ if(null != lists){ if(lists.contains(null)) lists.remove(null); Collections.sort(lists); return lists; }else{ return null; } } /** * * @param lists 需要排序的list * @param str 排序后需要置顶的元素 * @return 排序后且置顶元素置顶后的list */ public static List<String> topElement(List<String> lists,String str){ if(null != lists){ sortForStr(lists); if(lists.contains(str)){ int index=lists.indexOf(str); lists.add(0, lists.get(index)); lists.remove(index+1); } return lists; }else{ return null; } } /** * * @param lists 存在重复元素的list * @return 去重后排序的list */ public static List<String> removeSameElementAndSort(List<String> lists){ if(null != lists){ HashSet<String> hs=new HashSet<String>(lists); lists.clear(); lists.addAll(hs); sortForStr(lists); return lists; }else{ return null; } } }
附:本人为刚刚毕业的新手,javase的基础不牢,多学学多记录记录~有不对的请各位指出,谢谢~