解决并发情况下的容器线程安全问题的。给多线程环境准备一个线程安全的容器对象。 线程安全的容器对象: Vector, Hashtable。线程安全容器对象,都是使用 synchronized 方法实现的。 concurrent 包中的同步容器,大多数是使用系统底层技术实现的线程安全。类似 native ...
分类:
编程语言 时间:
2020-02-18 16:38:54
阅读次数:
80
水题。与B1093 字符串A+B 类似。 #include<iostream> #include<cctype> using namespace std; bool hashtable[300] = {false}; int main() { string str1,str2; cin>>str1> ...
分类:
其他好文 时间:
2020-02-18 12:51:58
阅读次数:
72
HashMap: 线程不安全,链表结构,效率高; Hashtable : 线程安全,但效率低,因为是Hashtable是使用synchronized的,所有线程竞争同一把锁; Synchronized Map: 线程安全,但效率低,一次性锁住整张表来保证线程安全,所以每次只能有一个线程来访问map。 ...
分类:
其他好文 时间:
2020-02-17 14:18:24
阅读次数:
62
原题链接在这里:https://leetcode.com/problems/invalid-transactions/ 题目: A transaction is possibly invalid if: the amount exceeds $1000, or; if it occurs withi ...
分类:
其他好文 时间:
2020-02-17 13:57:48
阅读次数:
84
一、数组 1. 二维数组中的查找 题目描述: ? 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路: 二分查找 ? 遍历每一行,对每一行进行一次二分查 ...
分类:
其他好文 时间:
2020-02-15 11:49:08
阅读次数:
65
说下 TreeSet 和 HashSet 什么区别呢? 它们的区别点主要在他们的底层数据结构不同,HashSet 使用的是 HashMap 来实现,而 TreeSet 使用的是 TreeMap 来实现的。 哦?那你了解 HashMap 和 TreeMap 的区别吗? HashMap 是一个最常用的数 ...
分类:
其他好文 时间:
2020-02-15 11:30:46
阅读次数:
91
命名空间:System.Collections.Generic 先看一下官方说明:类提供了高级的设置操作。集是不包含重复元素的集合,其元素无特定顺序。 HashSet <T>对象的容量是对象可以容纳的元素数。当向对象添加元素时,HashSet <T>对象的容量会自动增加。 HashSet<Strin ...
分类:
Web程序 时间:
2020-02-15 09:40:42
阅读次数:
81
#include"iostream" #include"vector" #include"algorithm" using namespace std; bool hashtable[20000] = {false}; //因为待映射的值可能比较大,所以数组开大一点,不然最后两个测试点会出现 段错误 ...
分类:
其他好文 时间:
2020-02-14 23:05:21
阅读次数:
132
TreeMap中的元素默认按照keys的自然排序排列。(对Integer来说,其自然排序就是数字的升序;对String来说,其自然排序就是按照字母表排序) 由于Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系。 Map中采用Entry内部类来表示一个映射项,映射项包含Key和Valu ...
分类:
编程语言 时间:
2020-02-14 22:13:16
阅读次数:
104
原本遇到判断字符串中是否含有重复元素的问题总是使用for循环遍历进行判断,这一方法则需要O(n3)的时间复杂度,如果本身方法处于几个循环中,就会指数倍增加时间复杂度。类似于如下代码: String[] a = s.split(""); int max = 1; for(int i = 0; i < ...
分类:
其他好文 时间:
2020-02-13 18:53:02
阅读次数:
100