一、List集合
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Demo01 {
public static void main(String[] args) {
//创建一个List集合对象,多态
List< String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("a");
System.out.println(list);//[a,b,c,d]
list.add(3,"d");
System.out.println(list);//[a,b,c,d,a]
String removeC = list.remove(2);
System.out.println("被移除的元素是"+removeC);
System.out.println(list);//[a,b,d,a]
list.set(3,"A");
System.out.println(list);//[a, b, d, A]
//for循环遍历
for (int i = 0; i < list.size(); i++) {
String s = list.get(i);
System.out.println(s);//abdA
}
//迭代器遍历
Iterator<String> it = list.iterator();
while (it.hasNext()){
String s = it.next();
System.out.println(s);//abda
}
//增强for循环 list.for
for (String s : list) {
System.out.println(s);//abda
System.out.println("董".hashCode());
}
}
}
二、LinkedList集合
addFirst、addLast、push:添加第一个/最后一个/第一个元素
getFirst、getLast:返回第一个/最后一个元素
removeFirst、removeLast、pop:移除第一个元素,同removeFirst
isEmpty:不包含元素返回true
三、HashSet集合
存储不重复元素的原理
LinkedHashSet集合
六、关于Collections
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
public class Demo07 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("b");
//用addAll来一次性添加多个元素
Collections.addAll(list,"d","c");
System.out.println(list);//[a, b, d, c]
//打乱顺序
Collections.shuffle(list);
System.out.println(list);//[a, d, c, b] 随机顺序
Collections.sort(list);
System.out.println(list);//[a,b,c,d]升序
ArrayList<Demo04> list1 = new ArrayList<>();
list1.add(new Demo04("董",18));
list1.add(new Demo04("皓",20));
list1.add(new Demo04("宇",13));
//无法对人进行排序,1.需要在Demo04里面加,2.然后对Demo04进行方法的重写
//1.public class Demo04 implements Comparable<Demo04>
/*@Override
public int compareTo(Demo04 o) {
// return 0; 我们自定义规则
return this.getAge() - o.getAge();//升序排序
return o.getAge() - this.getAge();//降序排序
}
*/
Collections.sort(list1);
System.out.println(list1);//[Demo04{name='宇', age=13}, Demo04{name='董', age=18}, Demo04{name='皓', age=20}]
//还可以用Comparator来进行 排序,它相当于找一个第三方的裁判。
// o1-o2:升序
System.out.println("=============================");
Collections.sort(list1, new Comparator<Demo04>() {
@Override
public int compare(Demo04 o1, Demo04 o2) {
return o1.getAge()-o2.getAge();
}
});
System.out.println(list1);
};
}
//=============================================================
import java.util.Objects;
public class Demo04 implements Comparable<Demo04> {
private String name;
private int age;
public Demo04( ) {
}
public Demo04(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Demo04 demo04 = (Demo04) o;
return age == demo04.age &&
Objects.equals(name, demo04.name);
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
@Override
public String toString() {
return "Demo04{" +
"name='" + name + ''' +
", age=" + age +
'}';
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public int compareTo(Demo04 o) {
// return 0; 我们自定义规则
return o.getAge() - this.getAge();//升序排序
}
}