@Test //String[]数组 定长,不可变,如果能确定字符串数组的长度,可以使用String[]
void context() throws Exception{
String[] strings = new String[3];
strings[0] = "Zhang";
strings[1] = "jia";
strings[2] = "peng";
for (String ss: strings) {
System.out.println(ss);
}//Zhang jia peng
String[] strings2 = new String[3];
strings[0] = "Zhang";
strings[1] = "jia";
strings[1] = "peng";
for (String ss2: strings2) {
System.out.println(ss2);
}//Zhang peng null
try {
String[] strings3 = new String[3];
strings[0] = "Zhang";
strings[1] = "jia";
strings[2] = "peng";
strings[3] = "Str";
for (String ss3: strings3) {
System.out.println(ss3);
}
} catch (ArrayIndexOutOfBoundsException e) {
e.printStackTrace();
}
//数组越界 java.lang.ArrayIndexOutOfBoundsException: 3
/**
* Zhang
* jia
* peng
* null
* null
* null
* java.lang.ArrayIndexOutOfBoundsException: 3
* at cn.dd.fharchives.fh.FhApplicationTests.context(FhApplicationTests.java:93)
* at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
* at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
*/
}
@Test
void context2(){
String[] strings = new String[3];
strings[0] = "Zhang";
strings[1] = "jia";
strings[2] = "peng";
//调用Arrays中的asList方法将String[]转化为List<String>
List<String> list = Arrays.asList(strings);
System.out.println(list.size());
System.out.println(list);
/**
* 3
* [Zhang, jia, peng]
*/
}
@Test
void context3(){
HashMap<String, Object> map = new HashMap<String,Object>();
map.put("A","Hello World!");
map.put("B",1);
String[] strings = new String[3];
strings[0] = "Zhang";
strings[1] = "jia";
strings[2] = "peng";
map.put("C",strings);
System.out.println(map.size());
System.out.println(map.keySet());
System.out.println(map.values());
for (Map.Entry<String, Object> entry : map.entrySet()) {
System.out.println("key-->"+entry.getKey()+" value-->"+entry.getValue());
}
System.out.println("C:" + map.get("C"));
/**
* 3
* [A, B, C]
* [Hello World!, 1, [Ljava.lang.String;@1fd7a37]
* key-->A value-->Hello World!
* key-->B value-->1
* key-->C value-->[Ljava.lang.String;@1fd7a37
* C:[Ljava.lang.String;@1fd7a37
*/
}
@Test
void context4(){
Hashtable<String, Object> map = new Hashtable<>();
map.put("A","Hello World!");
map.put("B",1);
map.put("C","你好,世界!");
map.put("D",2);
List<Hashtable<String, Object>> list = new ArrayList<>();
list.add(map);
for (Hashtable<String, Object> lat:
list) {
System.out.println(list);
//[{A=Hello World!, B=1}]
}
}
@Test
void context5(){
//List 有序集合,插入读取有前后顺序
List list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add(1);
list.add(2);
list.add(3);
//Set 无序集合,存取无序
Set set = new HashSet();
set.add("A");
set.add("B");
set.add("C");
set.add(11);
set.add(22);
set.add(33);
for (Object list1:
list) {
System.out.println(list1);
}
for (Object set1:
set) {
System.out.println(set1);
}
/**
* a
* b
* c
* 1
* 2
* 3
* A
* 33
* B
* C
* 22
* 11
*/
}
@Test //迭代器使用
void context6(){
// 创建集合
ArrayList<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
// 获取迭代器
Iterator<String> iterator = list.iterator();
// 输出集合中的所有元素
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
/**
* a
* b
* c
* d
*/
}