集合复习

来源:互联网 发布:安卓双系统软件 编辑:程序博客网 时间:2024/06/08 08:25

集合:集合有三种

1.List(可以添加重复值,遍历出来的数据会根据你添加的数据的顺序排列

(1)ArrayList:数组结构,查询快,增删改慢。在项目中遍历数据的时候大都用到它

(2)LinkedList:链表结构,查询慢,增删改快。贪吃蛇中就用到它

(3)Vector:增删查改都慢,已被淘汰


package com.zking.test;


import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;


public class TestList {
public static void main(String[] args) {
// List Set Map
//List 
//重复?可以重复
//有序?有序(遍历出来的数据会根据你添加的数据的顺序排列)
// List<String> list=new ArrayList<String>();
// list.add("A");
// list.add("B");
// list.add("C");
// list.add("A");
// System.out.println(list.size());
//
// for (String string : list) {
// System.out.println(string);
// }


LinkedList<String> list=new LinkedList<String>();
list.add("A");
list.add("B");
list.add("C");
list.add("A");

list.addFirst("头");
list.addLast("尾");

list.removeFirst();

for (String string : list) {
System.out.println(string);
}

}
}



2.Set(set数组中添加不了重复的数据,而且数据遍历出来自动排列,会打乱你原来添加数据的顺序)

(1)HashSet   可以添加空值

(2)TreeSet   不可以添加空值

//代码如下

package com.zking.test;


import java.util.HashSet;
import java.util.TreeSet;


public class TestSet {
public static void main(String[] args) {
//Set
//重复?不能添加重复
//有序?无序(放进去的顺序和取出来的顺序不一样,在遍历时会自动排序)
HashSet<String> hashSet=new HashSet<String>();
hashSet.add("A");
hashSet.add("C");
hashSet.add("B");
hashSet.add(null);
//HashSet可以加空值
for (String string : hashSet) {
System.out.println(string);
}


//TreeSet不可以加空值
// TreeSet<String> treeSet=new TreeSet<String>();
// treeSet.add("A");
// treeSet.add("C");
// treeSet.add("B");
// treeSet.add(null);
// for (String string : treeSet) {
// System.out.println(string);
// }
}
}

3.Map

(1)HashMap  可以添加空值(放进去的顺序和取出来的顺序不一样,在遍历时会自动排序

(2)HashTable 不能添加空值(放进去的顺序和取出来的顺序不一样,在遍历时会自动排序

(3)TreeMap 可以添加空值(遍历出来的数据会根据你添加的数据的顺序排列

(4)迭代Map

package com.zking.test;


import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;


public class TestMap {
//键值对
public static void main(String[] args) {
Map<String, Object> map=new HashMap<String, Object>();
map.put("A", "AAAA");
map.put("2", "2222");
map.put("3", "3333");
map.put("王", "大小王");

//遍历
//01.获取所有的键,再根据键获取值
// Set<String> strings=map.keySet();
// for (String string : strings) {
// System.out.println(string+":"+map.get(string));
// }

//02.获取所有的值
// Collection<Object> collection=map.values();
// for (Object object : collection) {
// System.out.println(object);
// }
//03.获取键和值(一个一个)
Set<Entry<String, Object>> entries=map.entrySet();
for (Entry<String, Object> entry : entries) {
System.out.println(entry.getKey() + " " + entry.


getValue());
}
}
}


5.Properties配置

创建一个文件file.Properties,在里面放上属性和值,读取properties文件

其实就是以键值对形式存在的集合文件,

这种文件以key=value格式存储内容,代码中可以使用Properties类来读取这个文件String value= tProperty(key);就能得到对应的数据,一般这个文件作为一些参数的存储,代码就可以灵活一点
便于代码重构,方便维护

原创粉丝点击