常用数据类型
Java | JavaScript | Python |
---|---|---|
整数类型:byte,short,int,long 浮点数类型:float,double 字符类型:char 布尔类型:boolean |
数字(Number): 整数,小数 任意精度整数(BigInt):可处理大整数 字符串(String):一串字符序列 布尔值(Boolean):true / false undefined:未定义或不存在 null:空值 代表(Symbol):实例唯一且不可改变 Object:狭义object,array,function |
数值:int,float,complex 字符串:str(由Unicode构成的不可变序列) 布尔值:True / False (它是int的子类型) 空值:None 序列类型:list,tuple 集合类型:set,forzenset 映射类型:dict |
注意事项:
JavaScript的数值都是64位存储,在某些特定的运算,如位运算时,才会将整数自动转成32位来计算。
Python 中的除法,//
才是其他大多数语言中的/
常用数据结构
Java | JavaScript | Python |
---|---|---|
数组: DataType[] List: ArrayList, LinkedList Map: HashMap, LinkedHashMap, TreeMap Set: HashSet, LinkedHashSet, TreeSet Stack:Stack Queue: LinkedList(Deque), PriorityQueue |
数组: Array Map: Map Set: Set Stack: 无 Queue: 无 |
序列类型:list,tuple 集合类型:set,forzenset 映射类型:dict Stack: queue.LifoQueue Queue: queue.Queue, queue.PriorityQueue, collections.deque |
数组 Array
Java
1 | // 声明方式 |
JavaScript
数组本质上是一种特殊的对象,可以参考网道-JavaScript教程-数组
1 | // 声明方式 |
Python
Python通常用元组
(tuple,不可变的集合)或列表
(List,可变的集合)来达到其他语言数组的效果。他们的通用序列操作。
1 | # 元组 |
列表 List
Java
1 | ArrayList<Integer> list = new ArrayList<>(); // 内部以数组实现 |
JavaScript
同Array
,见上一节数组
。
Python
同list
。见上一节数组
。
键值对 Map
Java
1 | // 内部以Node<K,V>[]数组存储数 |
JavaScript
1 | // 声明方法 |
更多详情请看Mozilla关于Map的文档。
Python
1 | # Python中的Map就是dict |
更多详情请看Python官方文档: 映射类型 dict
集合 Set
集合间运算涉及到的一些名词,交集、并集应该好理解,相对补集、对称差可能不太好理解,这里附上一些资料:
Java
1 | // HashSet内部实现是用的HashMap,其实就是把值当key放到HashMap里 |
JavaScript
1 | // 声明 |
Python
1 |
|
栈 Stack
Java
1 | // 声明。继承自Vector。实际以数组存储数据。 |
JavaScript
1 | // 使用第三方或者自行基于数组等实现 |
Python
1 | import queue |
队列 Queue
Java
1 | // 普通的队列 |
JavaScript
1 | // 没有现成的,只能自定义或使用第三方 |
Python
1 | import queue |