1.排序与混排
Collections类中的sort方法可以对实现List的接口进行排序
List staff = new LinkedList<>();
// 这个方法假定元素实现了Comparable接口
Collections.sort(staff);
如果采用其他方式对列表进行排序可以使用List接口的sort方法传入一个Comarable的一个对象
// java排序实现是把所有元素放入一个新列表之后列表进行排序,把排序好的数组返回
staff.sort(Comparator.comparingDouble(Employee::getSalary))
Collections 有个算法shuffle,其功能和排序相反,混排数组中的元素。
2.二分查找 && 计算二分查找平均查找长度
二分查找的思想就是,直接在数组中央查找所需要的元素,如果比中间元素小,在再数组前半部分查找中间位置然后比较。
![](https://img.haomeiwen.com/i5680007/18da4760ed792982.png)
java的binarySearch方法实现这个二分查找的算法,所查找的集合必须是排好序的,否则算法将返回错误的答案。
i = Collection.binarySearch(c,element)
i = Collection.binarySearch(c,element,comparator)
java提供了简单的算法
Collections.replace("C++","Java") //把C++替换为java字符串
java删除所有短词,并把所有单词改为小写
words.remove(w->w.length()<=3);
words.replaceAll(String::toLowerCase)
栈
java类库把Stack类扩展为Vector类,Vector可以让栈使用insert和remove方法
位集(位向量或位数组)
高效的存储位序列可以使用位集
计算2~20000的素数
![](https://img.haomeiwen.com/i5680007/0e1aaed2491f0ff0.png)
网友评论