集合主要掌握的内容:
1.每个集合对象的创建(new)
2.向集合中添加元素
3.从集合中取出某个元素
4.遍历集合
5.主要的集合类:
ArrayList:有序可重复
LinkedList:有序可重复
HashSet:无序不可重复(是HashMap的key,存储在HashMap集合key的元素需要同时重写hashcode+equals)
TreeSet:无序不可重复
HashMap:键值对,key不能重复,value会覆盖
Properties
TreeMap
ArrayList、LinkedList:
package com;
import java.util.*;
public class test {
public static void main(String[] args) {
//创建集合对象
//ArrayList<String> arrayList = new ArrayList<>();
// LinkedList<String> arrayList=new LinkedList<>();
//添加元素
arrayList.add("zs");
arrayList.add("lisi");
//从集合中取出元素
String s = arrayList.get(0);
System.out.println(s);
//遍历
for (int i = 0; i < arrayList.size(); i++) {
String s1 = arrayList.get(i);
System.out.println(s1);
}
//迭代器遍历(这个是通用的,所有Collection都能用)
Iterator<String> iterator = arrayList.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
//foreach方式
for (String rs : arrayList) {
System.out.println(rs);
}
//for循环
for (Iterator<String> iterator1 = arrayList.iterator(); iterator1.hasNext(); ) {
System.out.println(iterator1.next());
}
}
}
HashSet无序不可重复
package com;
import java.util.*;
public class test {
public static void main(String[] args) {
//创建集合对象
HashSet<String> arrayList = new HashSet<>();
//添加元素
arrayList.add("zs");
arrayList.add("lisi");
//set集合里元素不能通过下标取
//取---省略
//迭代器遍历(这个是通用的,所有Collection都能用)
Iterator<String> iterator = arrayList.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
//foreach方式
for (String rs : arrayList) {
System.out.println(rs);
}
//for循环
for (Iterator<String> iterator1 = arrayList.iterator(); iterator1.hasNext(); ) {
System.out.println(iterator1.next());
}
//存储set集合,存储 Person数据
Set<Person> set=new HashSet<>();
set.add(new Person(19,"zs"));
set.add(new Person(29,"ww"));
set.add(new Person(35,"lisi"));
System.out.println(set.size());//3
for (Person rs:set){
System.out.println(rs);
}
}
}
class Person {
int age;
String name;
@Override
public String toString() {
return "Person{" +
"age=" + age +
", name='" + name + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
return age == person.age &&
Objects.equals(name, person.name);
}
@Override
public int hashCode() {
return Objects.hash(age, name);
}
public Person() {
}
public Person(int age, String name) {
this.age = age;
this.name = name;
}
}
TreeSet
package com;
import java.util.*;
public class test {
public static void main(String[] args) {
//创建集合对象
TreeSet<Integer> treeSet = new TreeSet<>();
//添加元素
treeSet.add(13);
treeSet.add(13);
treeSet.add(126);
treeSet.add(1226);
//从集合中取出元素---无省略
//迭代器遍历(这个是通用的,所有Collection都能用)
Iterator<Integer> iterator = treeSet.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
//foreach方式
for (Integer rs : treeSet) {
System.out.println(rs);
}
//for循环
for (Iterator<Integer> iterator1 = treeSet.iterator(); iterator1.hasNext(); ) {
System.out.println(iterator1.next());
}
//匿名内部类方式(这个类没名字,直接new接口)
//可以升序
TreeSet<Person> set1 = new TreeSet<>(new Comparator<Person>() {
@Override
public int compare(Person o1, Person o2) {
return o1.age - o2.age;
}
});
set1.add(new Person(100));
set1.add(new Person(200));
set1.add(new Person(700));
set1.add(new Person(300));
set1.add(new Person(900));
for (Object rs : set1) {
System.out.println(rs
);
}
}
}
class Person {
int age;
@Override
public String toString() {
return "Person{" +
"age=" + age +
'}';
}
public Person(int age) {
this.age = age;
}
}
HashMap
package com;
import java.util.*;
public class test {
public static void main(String[] args) {
//创建集合对象
HashMap<Integer, String> map = new HashMap<>();
//添加元素
map.put(1, "zs");
map.put(3, "zs");
map.put(2, "ww");
map.put(2, "lisi");//key重复,value会覆盖
System.out.println("map长度"+map.size());//3
//从集合中取出元素
System.out.println(map.get(2));//lisi
//遍历
//先获取所有的key,遍历key时候,通过key获取value
Set<Integer> keys = map.keySet();
for (Integer key : keys) {
System.out.println(key + "=" + map.get(key));
}
//2
Set<Map.Entry<Integer, String>> nodes = map.entrySet();
for (Map.Entry<Integer, String> node : nodes) {
System.out.println(node.getKey() + "=" + node.getValue());
}
}}
Properties
package com;
import java.util.*;
public class test {
public static void main(String[] args) {
//创建对象
Properties properties = new Properties();
//存
properties.setProperty("username", "zs");
properties.setProperty("password", "123456");
//取
System.out.println(properties.getProperty("username"));
System.out.println(properties.getProperty("password"));
}
}
TreeMap
package com;
import java.util.*;
public class test {
public static void main(String[] args) {
//创建集合对象
TreeMap<Integer, String> map = new TreeMap<>();
//添加元素
map.put(1, "zs");
map.put(3, "zs");
map.put(2, "ww");
map.put(2, "lisi");//key重复,value会覆盖
System.out.println("map长度"+map.size());//3
//从集合中取出元素
System.out.println(map.get(2));//lisi
//遍历
//先获取所有的key,遍历key时候,通过key获取value
Set<Integer> keys = map.keySet();
for (Integer key : keys) {
System.out.println(key + "=" + map.get(key));
}
//2
Set<Map.Entry<Integer, String>> nodes = map.entrySet();
for (Map.Entry<Integer, String> node : nodes) {
System.out.println(node.getKey() + "=" + node.getValue());
}
}}