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

中电云主机怎样登入创建的网站网站平台建设缴纳什么税

中电云主机怎样登入创建的网站,网站平台建设缴纳什么税,东莞百域网站建设公司,沂源网站建设1. 集合的常用实现类接口常用实现类底层结构特点ListArrayList动态数组随机访问快,增删中间慢ListLinkedList双向链表增删头尾快,随机访问慢SetHashSet哈希表去重,无序SetTreeSet红黑树去重,自动排序(升序或自定义&…

1. 集合的常用实现类

接口常用实现类底层结构特点
ListArrayList动态数组随机访问快,增删中间慢
ListLinkedList双向链表增删头尾快,随机访问慢
SetHashSet哈希表去重,无序
SetTreeSet红黑树去重,自动排序(升序或自定义)
MapHashMap哈希表键唯一,无序
MapTreeMap红黑树键唯一,自动排序

1.1 线程安全问题

非线程安全的集合:ArrayList、HashMap、HashSet ,多个线程同时调用它们的方法(add/remove/get),不额外加锁就可能抛出异常(如ConcurrentModificationException)或产生脏数据。

想要线程安全,可以用 Collections.synchronizedList(new ArrayList<>())。直接用 CopyOnWriteArrayList、ConcurrentHashMap 等并发集合。这些类内部已经用锁、CAS 或其他并发算法保证了多线程同时操作也安全。如:

// 多个线程随便 add/remove/get,不会出错
List<Integer> safeList = new CopyOnWriteArrayList<>();

1.2 简单归纳

集合类型线程安全?备注
ArrayList×需额外加锁
HashMap×需额外加锁
Vector / Hashtable早期同步类,性能差
Collections.synchronizedXxx包装后安全,但锁粒度大
CopyOnWriteArrayList读多写少场景
ConcurrentHashMap高并发场景首选

2. 常见操作方法

2.1 List 操作

List<String> list = new ArrayList<>();list.add("A");                // 追加
list.add(1, "B");             // 指定位置插入
list.set(0, "X");             // 替换
String e = list.get(2);       // 按索引取值
int n = list.size();          // 元素个数
list.remove("A");             // 按对象删
list.remove(2);               // 按索引删
boolean has = list.contains("X");
list.sort(String.CASE_INSENSITIVE_ORDER);  // 排序

2.2 Set 操作

Set<Integer> set = new HashSet<>();set.add(10);                  // 添加
set.remove(10);               // 删除
boolean exists = set.contains(10);
int s = set.size();
for (Integer i : set) { }     // 遍历

2.3 Map 操作

Map<String, Integer> map = new HashMap<>();map.put("apple", 3);          // 存键值
map.putIfAbsent("pear", 1);   // 不存在才放
int v = map.get("apple");     // 按键取值
map.remove("apple");
boolean hasKey = map.containsKey("apple");
for (Map.Entry<String,Integer> e : map.entrySet()) {System.out.println(e.getKey() + " -> " + e.getValue());
}

3. 注意事项

  1. 用 equals() 比较内容,而非 ==
  2. 遍历过程中删除元素用 Iterator.remove() 或 removeIf(),避免 ConcurrentModificationException。
  3. 想保持插入顺序的 Set,用 LinkedHashSet;想按访问顺序做缓存淘汰,用 LinkedHashMap 开启 access-order。
  4. 需要线程安全时,优先选 java.util.concurrent 包里的类,而不是 Collections.synchronizedXxx。
  5. 要顺序用 List,要去重用 Set,要键值对用 Map。
  6. 读多写少用 ArrayList,写多读少用 LinkedList。
  7. 需要并发用 concurrent,需要排序用 Tree。
http://www.dtcms.com/a/608035.html

相关文章:

  • 企业网站实验报告泰州 住房和城乡建设厅网站
  • 天津南开做网站公司天津seo优化排名
  • 外贸怎么做站外推广珠海网络公司联系方式
  • 全球著名科技网站做官网网站哪家公司好
  • 做公众号和网站主页的区别站长工具 seo综合查询
  • 商洛市住户和城乡建设局网站信息价广告设计与制作专业能考二建吗
  • 网站建设管理制度九不准长沙好的设计公司
  • 做图片视频的网站有哪些问题二手房网签合同在哪个网站做
  • 厦门 网站建设 公司网站建设前的ER图
  • 网站后台如何做产品展示怎样做网站文件验证
  • 佛山网站搭建企业网站的宣传功能体现在()
  • 南京网站建设费用网站建设亿金手指花总14
  • 自学做网站需要多久开发者选项怎么设置最流畅
  • fastapi详解
  • 免费房地产网站模板网站没有做实名认证
  • 做明星网站wordpress 右拉
  • 国外优秀个人网站欣赏怎样解除拦截网站设置
  • 免费网站站北京做网站公司
  • 网站建设前期分析做网站的底图尺寸多大
  • 彩票网站开发与建设wordpress文章编辑经典
  • 乐清网站开发公司网站建设提成
  • 做网站用小动画网站开发范本
  • 商城网站开发网常州建设网站平台
  • 鸿安建设集团网站郑州外贸营销网站建设
  • 成武菏泽网站建设物业管理软件
  • 我看别人做系统就直接网站下载文件页面优化
  • 网站建设服务收费烟台建设联合会网站
  • 培训 网站 模板新河县招聘信息网
  • 游戏开发和网站开发那个有前景庆阳网站设计制作
  • 默认网站停止相亲网站建设策划方案