使用JAVA编程初体验
由于工作中需要用到JAVA语言,现尝试将之前的一些C++项目代码使用JAVA重写,并记录其中的一些与C++使用上的区别和联系
JAVA的Vector、ArrayList
首先说说Java的Vector和ArrayList的区别和联系,两者都是实现了List接口,其主要区别为:
- Vector是线程安全的,ArrayList则不是,为保证线程安全,Vector的底层调用时会进行加锁解锁操作,有一定的系统开销,因此对于单线程版本使用Vector将造成效率低下的问题;
- Vector的扩容系数是1,而ArrayList的扩容系数是0.5
Vector属于历史遗留问题,目前基本上都使用ArrayList来做动态数组
JAVA中无typedef
我觉得很多人从C++转向JAVA之后会有些不习惯,JAVA中居然没有typedef,这就导致了某些数据需要修改成统一的数据类型时,需要一个个的去进行修改,对于基础类型JAVA无法typedef,但是对于Object可以使用如下方式进行typedef:
public class MyMap extends HashMap<String, String> {}
浙公网安备 33010602011771号