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

怎么做自己微信的网站百度网页怎么制作

怎么做自己微信的网站,百度网页怎么制作,做网站竞价怎么找客户,基于html5的移动端网站开发一、线性数据结构 1. 数组 (Array) 特点:连续内存空间,固定长度,通过索引快速访问。使用场景:数据量固定且需要频繁随机访问。示例:int[] arr new int[5]; arr[0] 10; // O(1)访问2. ArrayList 特点:…

一、线性数据结构

1. 数组 (Array)
  • 特点:连续内存空间,固定长度,通过索引快速访问。
  • 使用场景:数据量固定且需要频繁随机访问。
  • 示例
    int[] arr = new int[5]; 
    arr[0] = 10; // O(1)访问
    
2. ArrayList
  • 特点:基于动态数组实现,自动扩容,线程不安全。
  • 时间复杂度
    • 查询:O(1)
    • 插入/删除:末尾 O(1),中间 O(n)
  • 示例
    List<String> list = new ArrayList<>();
    list.add("Java"); // 添加元素
    list.get(0);      // 获取元素
    
3. LinkedList
  • 特点:双向链表实现,内存不连续,支持快速插入/删除。
  • 时间复杂度
    • 查询:O(n)
    • 插入/删除:头部/尾部 O(1),中间 O(n)
  • 示例
    LinkedList<Integer> linkedList = new LinkedList<>();
    linkedList.addFirst(1); // 头部插入
    linkedList.removeLast(); // 尾部删除
    

二、集合框架 (Collection)

1. HashSet
  • 特点:基于 HashMap 实现,无序,元素唯一。
  • 时间复杂度:插入、删除、查找均为 O(1)
  • 示例
    Set<String> set = new HashSet<>();
    set.add("A");
    set.contains("A"); // 判断存在性
    
2. TreeSet
  • 特点:基于红黑树实现,元素有序(自然顺序或自定义排序)。
  • 时间复杂度:插入、删除、查找均为 O(log n)
  • 示例
    TreeSet<Integer> treeSet = new TreeSet<>();
    treeSet.add(3);
    treeSet.first(); // 最小元素
    
3. LinkedHashSet
  • 特点:继承 HashSet,维护插入顺序的链表。
  • 时间复杂度:与 HashSet 相同。
  • 示例
    Set<String> linkedHashSet = new LinkedHashSet<>();
    linkedHashSet.add("B");
    linkedHashSet.add("A"); // 保持插入顺序
    

三、映射结构 (Map)

1. HashMap
  • 特点:数组+链表/红黑树,键唯一,允许 null 键/值,线程不安全。
  • 时间复杂度:插入、删除、查找 O(1)(理想情况下)。
  • 示例
    Map<String, Integer> map = new HashMap<>();
    map.put("Key", 100);
    map.get("Key"); // 获取值
    
2. LinkedHashMap
  • 特点:继承 HashMap,维护插入顺序或访问顺序。
  • 使用场景:需要有序的键值对(如 LRU 缓存)。
  • 示例
    LinkedHashMap<String, Integer> linkedMap = new LinkedHashMap<>();
    linkedMap.put("A", 1);
    linkedMap.get("A"); // 保持插入顺序
    
3. TreeMap
  • 特点:基于红黑树,键有序(自然顺序或自定义 Comparator)。
  • 时间复杂度:插入、删除、查找 O(log n)
  • 示例
    TreeMap<String, Integer> treeMap = new TreeMap<>();
    treeMap.put("Z", 26);
    treeMap.firstKey(); // 最小键
    
4. ConcurrentHashMap
  • 特点:线程安全的 HashMap,分段锁提高并发性能。
  • 使用场景:高并发环境下的键值存储。
  • 示例
    ConcurrentHashMap<String, String> concurrentMap = new ConcurrentHashMap<>();
    concurrentMap.put("K", "V");
    

四、队列与栈

1. Queue 接口
  • 实现类LinkedListPriorityQueueArrayDeque
  • 常用方法
    • add()/offer():入队
    • remove()/poll():出队
    • element()/peek():查看队首
  • 示例
    Queue<Integer> queue = new LinkedList<>();
    queue.offer(1); // 入队
    queue.poll();    // 出队
    
2. PriorityQueue
  • 特点:基于堆实现,元素按优先级排序。
  • 时间复杂度:插入/删除 O(log n)
  • 示例
    PriorityQueue<Integer> pq = new PriorityQueue<>();
    pq.offer(5);
    pq.poll(); // 取出最小元素
    
3. 栈 (Stack)
  • 实现类:官方推荐使用 Deque 替代 Stack 类。
  • 示例
    Deque<Integer> stack = new ArrayDeque<>();
    stack.push(1); // 压栈
    stack.pop();   // 弹栈
    

五、性能对比与选择指南

数据结构特点适用场景
ArrayList快速随机访问,增删慢频繁查询,数据量固定或变化小
LinkedList增删快,查询慢频繁插入/删除,实现队列/栈
HashMap快速键值存取,无序高频键值操作,无需顺序
TreeMap键有序,速度较慢需要排序或范围查询
HashSet快速去重,无序元素唯一性校验
ConcurrentHashMap线程安全,高并发多线程环境下的共享Map

六、注意事项

  1. 线程安全

    • 单线程环境:优先使用 ArrayListHashMap
    • 多线程环境:使用 ConcurrentHashMapCopyOnWriteArrayList
  2. 遍历安全

    • 使用迭代器时避免直接修改集合(ConcurrentModificationException)。
  3. 初始容量

    • ArrayListHashMap 等预设初始容量(如 new ArrayList<>(100))避免频繁扩容。
http://www.dtcms.com/wzjs/157415.html

相关文章:

  • 云信智联商丘网站建设快速提升网站排名
  • 珠海网站建设制作哪家专业百度快照优化排名
  • 网站建设与制作这个行业怎么样呢seo推广有哪些公司
  • 网站建设的好处营销管理培训课程培训班
  • 江苏省建设工程地方标准网站结构优化设计
  • 广东省建设厅三库一平台怎么进行seo
  • wordpress图片怎么控制高度seo是什么缩写
  • 怎么和客户推广说网站建设语重庆网
  • 网站做交叉连接苏州seo排名优化课程
  • 做公司员工福利的网站都有哪些国家高新技术企业名单
  • 杭州网站建设|网站设计淘宝推广方法有哪些
  • 高端企业网站建设公司百度服务中心官网
  • 宝安画册设计公司关键词优化排名软件怎么样
  • 佛山顺德网站建设成都seo培训班
  • 衡水网站建设公司网络黄页推广软件哪个好用
  • 深圳做企业网站哪家好谷歌 google
  • 安防网站建设优点万网域名查询注册商
  • 网站建设市场调查报告seo研究中心vip教程
  • 东北建站广西seo经理
  • 无锡网站推广seo 优化 工具
  • 做捐款网站制作网页用什么软件
  • 网站怎么做能快速有排名市场调研分析报告模板
  • 东台做网站公司新软件推广平台
  • wordpress和hugu网站建设优化400报价
  • 南海网站建设报价成年培训班有哪些
  • 贵阳有哪些做网站的公司一键关键词优化
  • 东莞常平新楼盘网站seo的内容是什么
  • 新手做网站流程网站推广平台搭建
  • java可以做网站开发吗百度seo排名报价
  • 做暖暖欧美网站网站提交收录入口