java语法随笔

StringBuffer 和 StringBuilder 类

由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

public class one {
	public static void main(String[] args) {
		StringBuffer sBuffer = new StringBuffer("这里面可添加值:");
	    sBuffer.append("one");
	    sBuffer.append("two");
	    sBuffer.append("three");
	    System.out.println(sBuffer);  
	}
}

总结:1.StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况 StringBuffer

           2 适用多线程下在字符缓冲区进行大量操作的情况

 HashMap 与HashTable的区别:  HashMap 是基于“拉链法”实现的散列表。一般用于单线程程序中。
  Hashtable 也是基于“拉链法”实现的散列表。它一般用于多线程程序中。
  WeakHashMap 也是基于“拉链法”实现的散列表,它一般也用于单线程程序中。相比HashMap,WeakHashMap中的键是“弱键”,当“弱键”被GC回收时,它对应的键值对也会被从WeakHashMap中删除;而HashMap中的键是强键。
  TreeMap 是有序的散列表,它是通过红黑树实现的。它一般用于单线程中存储有序的映射。

Java 集合系列14之 Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)https://www.cnblogs.com/skywang12345/p/3311126.html

3.Set(HashSet     TreeSet:TreeSet:会将里面的元素默认排序)集合的特点:不能存储相同的元素。同时因为其是一个抽象的接口:所以不能直接实例化一个set对象。(Set s = new Set() )错误该接口主要继承于Collections接口,所以具有Collection的一些常见的方法。(Java Set集合的详解:https://blog.csdn.net/qq_33642117/article/details/52040345

java之collection总结http://www.cnblogs.com/taiwan/p/6954135.html

List:元素是有序的(怎么存的就怎么取出来,顺序不会乱),元素可以重复(角标1上有个3,角标2上也可以有个3)因为该集合体系有索引,

ArrayList:底层的数据结构使用的是数组结构(数组长度是可变的百分之五十延长)(特点是查询很快,但增删较慢)线程不同步

LinkedList:底层的数据结构是链表结构(特点是查询较慢,增删较快)
Vector:底层是数组数据结构 线程同步(数组长度是可变的百分之百延长)(无论查询还是增删都很慢,被ArrayList替代了)(java list的一些基本操作:https://blog.csdn.net/qq_33505051/article/details/78967362

stati(静态修饰符):https://www.cnblogs.com/dolphin0520/p/3799052.html

@Override 的作用是:如果想重写父类的方法,比如toString()方法的话,在方法前面加上@Override 系统可以帮你检查方法的正确性。

猜你喜欢

转载自blog.csdn.net/qq_41088384/article/details/84675603