首页 文章 精选 留言 我的

精选列表

搜索[java],共10000篇文章
优秀的个人博客,低调大师

Java Comparator排序

ArrayList<Integer> mItems = new ArrayList<>(); for (int i = 0; i < 10; i++) { mItems.add((int) (Math.random() * 10)); } Logger.d("源数据:" + mItems); ArrayList<Integer> mItems2 = new ArrayList<>(); mItems2.addAll(mItems); Collections.sort(mItems, new Comparator<Integer>() { // 返回值为int类型。 // 大于0表示顺序(递增)【o1 > o2】,小于0表示逆序(递减)【o1 < o2】。 @Override public int compare(Integer o1, Integer o2) { if (o1 > o2) { return 1; } else { return -1; } } }); Logger.d("排序后(顺序):" + mItems); Collections.sort(mItems2, new Comparator<Integer>() { // 返回值为int类型。 // 大于0表示顺序(递增),小于0表示逆序(递减)。 // 0,相等。 @Override public int compare(Integer o1, Integer o2) { if (o1 > o2) { return -1; } else { return 1; } } }); Logger.d("排序后(逆序):" + mItems2); 输出: 源数据:[4, 6, 9, 1, 2, 5, 0, 5, 8, 5] 排序后(顺序):[0, 1, 2, 4, 5, 5, 5, 6, 8, 9] 排序后(逆序):[9, 8, 6, 5, 5, 5, 4, 2, 1, 0]

优秀的个人博客,低调大师

Java并发-ForkJoin

主要用于并行计算中,和 MapReduce 原理类似,都是把大的计算任务拆分成多个小任务并行计算。 public class ForkJoinExample extends RecursiveTask<Integer> { private final int threhold = 5; private int first; private int last; public ForkJoinExample(int first, int last) { this.first = first; this.last = last; } @Override protected Integer compute() { int result = 0; if (last - first <= threhold) { // 任务足够小则直接计算 for (int i = first; i <= last; i++) { result += i; } } else { // 拆分成小任务 int middle = first + (last - first) / 2; ForkJoinExample leftTask = new ForkJoinExample(first, middle); ForkJoinExample rightTask = new ForkJoinExample(middle + 1, last); leftTask.fork(); rightTask.fork(); result = leftTask.join() + rightTask.join(); } return result; } } public static void main(String[] args) throws ExecutionException, InterruptedException { ForkJoinExample example = new ForkJoinExample(1, 10000); ForkJoinPool forkJoinPool = new ForkJoinPool(); Future result = forkJoinPool.submit(example); System.out.println(result.get()); }

优秀的个人博客,低调大师

Java集合小记

Collection下集合 List 是一个 有序集合,维持的顺序是元素插入的顺序, 允许元素重复 1.ArrayList: 数组,查找元素很快,但删除元素和添加元素的效率相对较差, 默认大小是 10 个元素 2.LinkedList: 双向链表,删除、添加元素的效率很高,但查找元素的的效率较差 3.Vector: 线程安全的按顺序存放的数组,大部分public方法都由synchronized修饰 Set 不与许重复元素 1. HashSet: 实现是HashMap,按照key的哈希值存储,无序 2. TreeSet: 值有序,按照元素值大小排序,实现是NavigableMap(SortedMap子类/TreeMap) 3. SortedSet接口 : 有序,自己实现 comparator方法来排序 4. LinkedHashSet: 维持的顺序是元素插入的顺序 不属于collection,但与set超有关系的... ... Map 1. HashMap : 元素无序,允许一个null key, 默认大小是 16 个元素 2. TreeMap : 使用红黑树实现 3. SortedMap接口 : 需自己实现 comparator方法实现排序 4. LinkedHashMap : 维持的顺序是元素插入的顺序 /** * The iteration ordering method for this linked hash map: <tt>true</tt> * for access-order, <tt>false</tt> for insertion-order. */ // 如果为true,则按照访问顺序;如果为false(default),则按照插入顺序。 private final boolean accessOrder; /** * 双向链表的表头元素。 */ private transient Entry<K,V> header; /** * LinkedHashMap的Entry元素。 */ // 继承HashMap的Entry元素,又保存了其上一个元素before和下一个元素after的引用 private static class Entry<K,V> extends HashMap.Entry<K,V> { Entry<K,V> before, after; …… } 5. Hashtable : 是同步的,比较慢, 几乎所有的 public 的方法都是 synchronized 的,而有些方法也是在内部通过 synchronized 代码块来实现 , 不允许有个空的 key

优秀的个人博客,低调大师

java List排序

private void sortListByPriority(List resultList) { if (null != resultList && resultList.size() > 0) { Collections.sort(resultList, new Comparator<JSONObject>() { public int compare(JSONObject p1, JSONObject p2) { int returnNum = 0; if (null != p1 && null != p2) { String priority1 = (String) p1.get("priority"); String priority2 = (String) p2.get("priority"); if (StringUtils.isNotBlank(priority1) && StringUtils.isNotBlank(priority2)) { int tempP1 = Integer.parseInt(priority1); int tempP2 = Integer.parseInt(priority2); returnNum = tempP2 - tempP1; } } return returnNum; } }); } }

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。