当前位置: 首页 > wzjs >正文

河间市网站建设公司网站建设是什么费用

河间市网站建设,公司网站建设是什么费用,wordpress 获取文章发布时间,自助网站建设哪里可以一、核心特性对比 二、底层实现与典型差异 ‌List‌ ‌ArrayList‌:动态数组结构,随机访问快(O(1)),中间插入/删除效率低(O(n))‌‌LinkedList‌:双向链表结构,头尾操作…
一、核心特性对比

二、底层实现与典型差异

List

  • ArrayList‌:动态数组结构,随机访问快(O(1)),中间插入/删除效率低(O(n))‌
  • LinkedList‌:双向链表结构,头尾操作快(O(1)),随机访问慢(O(n))‌

Set

  • HashSet‌:哈希表实现,查询/插入时间复杂度为 O(1),依赖 hashCode() 和 equals() 方法‌
  • TreeSet‌:红黑树实现,元素按自然顺序或自定义比较器排序,操作时间复杂度为 O(log n)‌

Map

  • HashMap‌:哈希表 + 链表/红黑树(JDK8+),允许 null 键值,非线程安全‌
  • TreeMap‌:红黑树实现,按键自然顺序或比较器排序,适合范围查询‌
三、典型应用场景
  1. List 应用场景

    • 日志记录‌:按时间顺序存储操作日志,使用 ArrayList 快速遍历‌
    • 动态分页‌:LinkedList 实现 LRU 缓存淘汰策略(快速头尾操作)‌
  2. Set 应用场景

    • 用户权限管理‌:HashSet 存储唯一权限标识‌
    • 排行榜系统‌:TreeSet 自动维护分数排名‌
  3. Map 应用场景

    • 电商购物车‌:HashMap 以商品ID为键,存储商品数量‌
    • 配置中心‌:TreeMap 按配置键名排序后输出‌

四、‌ 应用案例

(一)、List应用案例

  1、多线程任务调度

// 使用 ArrayList 存储待执行的任务(按顺序执行)
List<Runnable> tasks = new ArrayList<>();
tasks.add(() -> System.out.println("Task 1"));
tasks.add(() -> System.out.println("Task 2"));
tasks.forEach(Thread::new);

   ‌2、社交媒体动态列表

// 使用 HashSet 存储在线用户的唯一ID(快速判断用户是否在线)
Set<Long> onlineUsers = new HashSet<>();
onlineUsers.add(user1.getId());
if (onlineUsers.contains(user2.getId())) { /* 用户在线逻辑 */ }

‌   3、数据分页处理

// 使用 ArrayList 分页查询数据库结果
List<Order> allOrders = fetchOrdersFromDB();
int pageSize = 10;
List<Order> page = allOrders.subList(0, Math.min(pageSize, allOrders.size()));

(二)、‌Set 应用案例

 1‌、用户在线状态管理 

// 使用 HashSet 存储在线用户的唯一ID(快速判断用户是否在线)
Set<Long> onlineUsers = new HashSet<>();
onlineUsers.add(user1.getId());
if (onlineUsers.contains(user2.getId())) { /* 用户在线逻辑 */ }

2、‌数据去重清洗

// 使用 TreeSet 对日志中的重复IP地址去重并排序
Set<String> uniqueIPs = new TreeSet<>();
logs.forEach(log -> uniqueIPs.add(log.getIP()));

3、权限交集计算

// 使用 Set 的集合操作(如取两个角色的共有权限)
Set<String> adminPermissions = new HashSet<>(Arrays.asList("delete", "edit"));
Set<String> editorPermissions = new HashSet<>(Arrays.asList("edit", "view"));
adminPermissions.retainAll(editorPermissions); // 交集结果: ["edit"]

(三)、‌Map 应用案例

1、‌缓存系统实现

// 使用 LinkedHashMap 实现简单的 LRU 缓存(最近最少使用淘汰策略)
Map<String, Object> cache = new LinkedHashMap<>(16, 0.75f, true) {@Overrideprotected boolean removeEldestEntry(Map.Entry eldest) {return size() > 100; // 缓存上限100条}
};

 2、‌多语言国际化

// 使用 HashMap 存储不同语言的键值对翻译
Map<String, String> zhMessages = new HashMap<>();
zhMessages.put("welcome", "欢迎");
System.out.println(zhMessages.get("welcome"));

3、事件监听器管理

// 使用 ConcurrentHashMap 存储事件类型和对应的监听器列表(线程安全)
Map<String, List<EventListener>> eventListeners = new ConcurrentHashMap<>();
eventListeners.computeIfAbsent("click", k -> new ArrayList<>()).add(new ClickListener());

五、‌特殊实现类案例 

1‌、TreeMap 实现范围查询

// 查找价格在 [100, 500] 的商品
TreeMap<Integer, Product> priceMap = new TreeMap<>();
priceMap.put(200, product1);
priceMap.put(300, product2);
NavigableMap<Integer, Product> range = priceMap.subMap(100, true, 500, true);

2、‌EnumSet 优化枚举集合存储

// 表示工作日的枚举集合(内存高效)
EnumSet<Weekday> workingDays = EnumSet.of(Weekday.MON, Weekday.TUE, Weekday.WED);

http://www.dtcms.com/wzjs/821413.html

相关文章:

  • 安徽索凯特建设工程有限公司网站龙岗建设招标局网站
  • 北京市保障性住房建设投资中心网站win2008iis7配置网站
  • 梧州论坛 红豆社区seo是什么意思的缩写
  • 摄影后期教程网站网络营销与策划
  • 商城网站的开发怎么做WordPress 文章模板制作
  • 信息化建设包括网站建设小程序首页模板
  • 营销类网站如何优化龙华品牌网站建设
  • 苏州建网站要多少钱东莞软文推广
  • wordpress 网站建设中学生个人网页制作代码
  • 社交网站建设需求分析通过电子邮件发布 wordpress
  • 凯叔讲故事网站谁做的网站建设需求分析怎么写
  • 网站在哪里设置关键字wordpress速度快
  • 专业展示设计网站老年大学网站开发
  • 上海网站建设极简慕枫贷款网站建设方案
  • AD这个软件做网站用得着吗区块链开发用什么语言
  • 网站怎么做才被收录快做网站需要学什么软件
  • 网站如何添加代码理县网站建设公司
  • 手机网站建设基本流程石材公司网站源码
  • 大连网站建设怎么样门户媒体有哪些
  • 快速免费建网站河南省建设厅建筑业信息网
  • 活动策划公司网站wordpress 模板安装
  • 做h5小程序的网站直播视频
  • 哪里有零基础网站建设教学公司wordpress rss静态化
  • 长沙网站seo源头厂家时空seo助手
  • 苏州网站小程序app开发公司android软件开发前景
  • 网站首页图片切换美橙互联
  • 安康市网站开发字节跳动小程序官网
  • 门户网站系统开发自己建站流程
  • 嘉兴做网站优化的公司263企业邮箱手机入口登录
  • 建站平台 阿里巴巴公众号开发者平台