java collection的小知识(1)

   小吴是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的基础不牢,多学学多记录记录~有不对的请各位指出,谢谢~

猜你喜欢

转载自lynbazinga.iteye.com/blog/2162318