String
String对象是不可变的
StringBuilder: Java SE5引入的
insert()
replace()
substring()
reverse()
append()
delete()
toString()
StringBuffer是线程安全的,因此开销较大
打印对象的内存地址,调用Object.toString()
System.out.format() 属于 java.util.Formatter 类
等价于C中的printf,可用于控制格式化输出
%[argument_index$][flags][width][.precision]conversion
默认数据是右对齐的,加”-“改变方向
width:最小尺寸
precision:对String表示输出字符的最大数量,对浮点数表示小数部分要显示出来的位数
类型转换字符:
d:字符
c:Unicode字符
b:Boolean值
s:String
f:浮点数(十进制)
e:浮点数(科学计数)
x:整数(十六进制)
h:散列码(十六进制)
%:字符“%”
String.format()是一个static方法,它接受与Formatter.format()方法一样的参数,但返回一个String对象
数组
在Java中可以将一个数组赋值给另一个数组,其实真正做的只是赋值了一个引用
可变参数列表:
printArray(Object[] args)
printArray(Object...args)
容器
注:
同步:线程安全,执行效率低
异步:线程不安全,执行相率高
斜体且有下划线:常用的容器
Collection-----Queue---PriorityQueue
|
|--List 接口
| |
| |--LinkedList 链表
| |
| |--ArrayList 顺序结构动态数组类 (异步)
| |
| |--Vector 向量 (同步)
| |
| |--Stack 栈
|
|--Set
|
|--HashSet 最快
|
|--TreeSet
|
|--LinkedHashSet
Map-----------LinkedHashMap 按插入顺序保存
|
|---HashTable (同步)
|
|---HashMap (异步) 最快
|
|---TreeMap 升序保存结果
|
|---WeakHashMap 改进的HashMap
List:
ArrayList:长于随机访问元素,但是在List中间插入或移除元素较慢
LinkedList:长于中间插入和删除,随机访问较慢。其特性集较ArrayList更大
常用方法:
contains()
remove() 基于equals()
indexOf()
add()
get()
subList()
containsAll()
addAll()
removeAll()
retainAll() 交集
Collections.sort()
Collections.shuffle()
isEmpty()
clear()
toArray()
LinkedList:
getFirst()
element()
removeFirst()
remove()
addFirst()
addLast()
removeLast()
Stack:
push()
pop()
peek()
Set:
Set具有与Collection完全一样的接口。
TreeSet将元素存储在红-黑树中
HashSet使用的是散列函数
Map:
get()
containsKey()
containsValue()
Queue:
offer() 插入队尾
peek() 返回队头(不移除)
element() 同peek()
poll() 返回队头(移除)
remove() 同poll()
PriorityQueue
迭代器
Java的Iterator只能单向移动
1)使用方法iterator()要求容器返回一个Iterator。Iterator将准备好返回序列的第一个元素;
2)使用next()获得序列中的下一个元素;
3)使用hasNext()检查序列中是否还有元素;
4)使用remove()将迭代器新返回的元素删除,调用之前须先调用next()
Iterator<Pet> it = pets.iterator();
while(it.hasNext())
{
Pet p=it.next();
it.remove();
}
ListIterator用于各种List类的访问,可双向移动
ListIterator<Pet> it=pets.listIterator();
while(it.hasNext())it.next();
while(it.hasPrevious())it.previous();
foreach 语法可应用于任何Collection对象