java一些封装好的常用算法
2024-09-15 21:02:54
1.简单排序Collections.sort():
//简单排序
List<String> staff= new LinkedList<>();
staff.add("aty");
staff.add("world");
staff.add("hello");
Collections.sort(staff);//升序
staff.sort(Comparator.reverseOrder());//降序
System.out.println(staff.toString());
2.混排Collections.shuffle():
//混排
List<Integer> numbers = new ArrayList<>();
for (int i = 0; i < 49; i++) {
numbers.add(i);
}
Collections.shuffle(numbers);
List<Integer> combining = numbers.subList(0, 6);
Collections.sort(combining);
System.out.println(combining);
3.二分Collections.binarySearch():
//二分
List<Integer> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
list.add(i);
}
System.out.println(list.toString());
System.out.println(Collections.binarySearch(list, 8));
4.一些简单的算法实现:
//简单算法实现
ArrayList<Integer> numbers = new ArrayList<>();
for (int i = 0; i < 49; i++) {
numbers.add(i);
}
System.out.println(Collections.min(numbers));//最小
System.out.println(Collections.max(numbers));//最大 ArrayList<Integer> numbers2 = new ArrayList<>();
numbers2 = (ArrayList<Integer>) numbers.clone();
System.out.println(numbers.toString()); //复制 Collections.fill(numbers, 1000);
System.out.println(numbers.toString());//所有值换成1000 Collections.addAll(numbers, 300,800,100);
System.out.println(numbers.toString());//添加所有值进去 Collections.replaceAll(numbers, 3, 900);//将所有3提传成900 ArrayList<Integer> sublist =new ArrayList<>();
for(int i=0;i<4;i++){
sublist.add(i);
}
System.out.println(Collections.indexOfSubList(numbers,sublist)); Collections.swap(numbers, 2, 3);
System.out.println(numbers.toString());//交换俩元素位置 Collections.reverse(numbers);
System.out.println(numbers);//倒置列表元素 Collections.rotate(numbers, 2);
System.out.println(numbers.toString());//旋转列表元素 // Collections.frequency(c, o);//返回c中与o相同的元素个数
// Collections.disjoint(c1, c2);//如果两个集合没有相同的元素,则返回true
5.栈:
//栈
Stack<Integer> stack = new Stack<>();
stack.push(5);//将5压入栈并返回5
stack.pop();//弹出并返回栈顶的元素,栈为空不能调用
stack.peek();//返回栈顶元素,但不弹出
最新文章
- bzoj1001--最大流转最短路
- VS2012调试时很慢的解决方案
- maven+spark2.0.0最大连通分量
- Hibernate(三)__核心接口和类
- 译 PrestaShop开发者指南 第三篇 设置本地安装环境
- 多线程 or 多进程 (转强力推荐)
- 通过CoreImage生成二维码
- nginx之keepalive
- asp.net mvc 用Redis实现分布式集群共享Session。
- BZOJ 1218: [HNOI2003]激光炸弹 前缀DP
- 汇编debug 截图2
- apache 上配置多个django工程
- 四巧工作简化法(ECRS)
- linux之cal命令
- Tortoise-SVN 出现“unable to connect to a repository at url no element found”解决办法
- GTK+2.0学习——code::block使用
- nginx源码学习资源
- 【读书笔记】使用代理录制Web性能测试脚本
- Qt中关于QMouseEventbuttons()和QMouseEventbutton()的使用注意
- 701 C. They Are Everywhere