集合的分类
集合分类
一、Collection
1、list集合
1.1 ArrayList集合
public class ArrayList_Learn {
public static void main(String[] args) {
// 创建ArrayList集合
ArrayList<Integer> myList = new ArrayList<Integer>();
ArrayList<Integer> myList1 = new ArrayList<Integer>();
// 添加
myList1.add(2); // 添加元素到列表末尾 add(E e)
myList1.add(1,4); // 指定位置添加指定的元素 add(int index, E element)
// myList.clear(); // 删除所有元素
myList1.add(9);
myList1.add(6);
myList1.add(4);
myList1.add(3);
myList.addAll(myList1); // 添加所有
// 判断
System.out.println(myList.contains(0)); // 判断集合是否包含指定元素 contains(Object o)
System.out.println(myList.contains(3)); // 返回true or false
// 获得
System.out.println(myList.get(4)); // 返回此列表中指定位置的元素
System.out.println(myList.indexOf(4)); // 返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。
System.out.println(myList.lastIndexOf(4)); // 返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。
// 删除
myList.remove(2); // 删除该列表中指定位置的元素。 remove(int index)
myList.set(2,4); //set(int index, E element) 用指定的元素替换此列表中指定位置的元素。
Collections.reverse(myList); // 转换 reverse()方法
printArrayList(myList);
Collections.shuffle(myList); // 打乱 shuffle()方法
printArrayList(myList);
Collections.sort(myList); // 排序 sort()方法
printArrayList(myList);
// 将集合转换为数组
Object[] objs = myList.toArray(); // 转化为数组 toArray()方法
// 输出数组
for (int i = 0; i < objs.length; i++) {
System.out.print(objs[i] + "\t");
}
System.out.println(myList.subList(1, 2)); // 输出指定位置的元素 subList()方法
}
// 输出ArrayList集合
public static int printArrayList(ArrayList myList) {
for (int i = 0; i < myList.size(); i++) {
System.out.print(myList.get(i) + "\t");
}
System.out.println();
return 0;
}
}
1.2 LinkedList集合
public class LinkedList_Learn {
public static void main(String[] args) {
// 创建LinkedList集合
LinkedList li = new LinkedList();
// 添加
li.add("xiao"); // 添加到末尾
li.addFirst("a"); // 添加到第一个位置
li.addLast("b"); // 添加到末尾位置
li.add(1,"Huang"); // 添加到指定位置
printLinkedList(li);
}
// 输出ArrayList集合
public static int printLinkedList(LinkedList myList) {
for (int i = 0; i < myList.size(); i++) {
System.out.print(myList.get(i) + "\t");
}
System.out.println();
return 0;
}
}
2、set集合
2.1 HashSet集合
public class HashSet_Learn {
public static void main(String[] args) {
// 创建HashSet集合
HashSet<String> names = new HashSet<String>(); //jdk7.0后实例化时<>中可以不加
//添加
names.add("张三");
names.add("李四");
//遍历方法不能用传统遍历方法,因为HashSet类中没有get方法
//第一种遍历方法:加强for循环
for (String name : names) {
System.out.println(name);
}
//第二种遍历方法:迭代器遍历
Iterator<String> iterator = names.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
//HashSet变量.clear():清除所有的数据
names.clear();
//HashSet变量.idEmpty(): 判断是否为空
System.out.println(names.isEmpty());
}
}
2.2 TreeSet集合
public class TreeSet_Learn {
public static void main(String[] args) {
TreeSet<String> names = new TreeSet<String>();
names.add("asaf");
names.add("asgag");
names.add("werygwe");
//遍历方法不能用传统遍历方法,因为HashSet类中没有get方法
//第一种遍历方法:加强for循环
for (String name : names) {
System.out.println(name);
}
//第二种遍历方法:迭代器遍历
Iterator<String> iterator = names.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
二、map集合
1.1 HashMap集合
public class HashMap_Learn {
public static void main(String[] args) {
///*Integer*/map.put("1", 1);//向map中添加值(返回这个key以前的值,如果没有返回null)
HashMap<String, Integer> map=new HashMap<>();
System.out.println(map.isEmpty());//true 判断是否为空
map.put("hx", 1); // 存值
System.out.println(map.isEmpty());//false 判断是否为空
/*Value的类型*///得到map中key相对应的value的值
System.out.println(map.get("1"));//null 取值
System.out.println(map.get("DEMO"));//1 取值
//判断是否含有key
System.out.println(map.containsKey("xiao"));//false
map.put("xiao", 8);
System.out.println(map.containsKey("xiao"));//true
//判断是否含有value
System.out.println(map.containsValue(2));//false
map.put("huang", 2);
System.out.println(map.containsValue(2));//true
// 删除这个key值下的value
System.out.println(map.remove("hx"));//null
// 显示所有的value值
System.out.println(map.values());//[1, 2]
// 显示所有的keys值
System.out.println(map.keySet());
// 显示元素的个数
System.out.println(map.size());//0
// 显示所有的keys和value值
System.out.println(map.entrySet());//[]
System.out.println(map);
// 替换key的value
System.out.println(map.replace("xiao", 5));//2
// 清空hashmap
// map.clear();
}
}
1.2 TreeMap集合
public class TreeMap_Learn {
public static void main(String[] args) {
TreeMap<String,Integer> map = new TreeMap<String,Integer>();
map.put("xiao",3);
map.put("huang",5);
map.put("hx",4);
// map.remove("hx"); // 移除指定key对应的映射
// map.clear(); // 清空 TreeMap
map.replace("hx",9); //replace(K key, V value):替换指定key对应的value值
map.replace("xiao",3,2);//replace(K key, V oldValue, V newValue):当指定key的对应的value为指定值时,替换该值为新值
System.out.println(map.containsKey("huang")); // 判断该TreeMap中是否包含指定key的映射
System.out.println(map.containsValue(5)); // 判断该TreeMap中是否包含有关指定value的映射
System.out.println(map.get("hx"));
System.out.println(map.entrySet()); // 遍历TreeMap
System.out.println(map.size()); // 键值对的个数
}
}
网友评论