javase,
分享于 点击 48790 次 点评:93
javase,
String
不可变对象
StringBuffer
可变对象,线程安全,速度慢
StringBuilder
可变对象,线程不安全,速度快
ArrayList
基于动态数组的数据结构,查询快,增删慢,线程不安全,效率高
LinkedList
基于链表的数据结构,查询慢,增删快,线程不安全
Vector
基于动态数组的数据结构,线程安全,效率低
TreeSet
自然排序:对象实现 compareTo 接口,自带排序
定制排序:TreeSet实例化是调用实现 Comparator 接口
HashSet
判断两个元素相等的标准是 首先 1.hashcode()相同 2.equals()相等
栈内存
在函数中定义的一些基本类型的变量和对象的引用变量,当超过作用域自动释放
堆内存
new创建的对象和数组,由Java虚拟机的自动垃圾回收器来管理
遍历MAP的方法
1.通过Set集合
for(Object o:map.keySet())
{
System.out.println(o+":"+map.get(o));
}
2.通过Entry遍历 推荐 尤其容量大时
for(Entry entry:map.entrySet())
{
System.out.println(entry.getKey()+":"+entry.getValue());
}
3.直接迭代
Iterator it=map.entrySet().iterator();
while(it.hasNext())
{
Map.Entry entry=it.next();
System.out.println(entry.getKey()+":"+entry.getValue());
}
抽象类(abstract)
为一个共同操作约定一种方法声明,子类继承抽象类的抽象方法,继承了父类的约定,子类可以根据自身的实际需要,
给出抽象方法的具体实现。不同的子类可以有不同的方法实现。因此一个抽象方法在多个子类中表现出多态性,使子
类具有共同的行为能力。
接口(interface)
接口提供方法声明与方法实现相分离的机制,是实现接口的多个类表现出共同的行为能力,接口声明的抽象方法在实
现接口的多个类中表现出多态性
接口 抽象类的区别
抽象类要被子类继承,接口要被类实现
接口只能做方法声明,抽象类中可以做方法声明,也可以做方法实现
接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量
抽象类里可以没有抽象方法
如果一个类里有抽象方法,那么这个类只能是抽象类
抽象方法要被实现,所以不能是静态的,也不能是私有的
接口可继承接口,并可多继承接口,但类只能单根继承
相关文章
- 暂无相关文章
用户点评