15-java学习-对象数组、集合、数据结构-案例代码
1.需求:我有3个学生,请把这个3个学生的信息存储到数组中,并遍历数组,获取得到每一个学生信息。
public class MyTest2 {
public static void main(String[] args) {
Student s1 = new Student("张三", 23);
Student s2 = new Student("李四", 24);
Student s3 = new Student("王五", 25);
Student[] students=new Student[3];
students[0]=s1;
students[1] = s2;
students[2] = s3;
for (int i = 0; i < students.length; i++) {
Student student = students[i];
System.out.println(student.getName()+"==="+student.getAge());
}
}
}
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.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 String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
2. Collection 集合体现,集合有很多种,每种集合有各自的特点
Collection集合存储自定义对象并遍历
public class MyTest {
public static void main(String[] args) {
Collection collection= new ArrayList();
collection.add("张三");
collection.add("李四");
collection.add("王五");
System.out.println(collection);
}
}
3. List集合存储学生对象并遍历
public class MyTest2 {
public static void main(String[] args) {
Student s1 = new Student("张三", 23);
Student s2 = new Student("李四", 24);
Student s3 = new Student("王五", 25);
Collection arrayList = new ArrayList();
arrayList.add(s1);
arrayList.add(s2);
arrayList.add(s3);
System.out.println(arrayList);
}
}
4.List集合的特有功能概述和测试
public class MyTest3 {
public static void main(String[] args) {
Collection arrayList = new ArrayList();
arrayList.add(100);
arrayList.add(200);
arrayList.add(new Integer(300));
System.out.println(args);
Collection arrayList2 = new ArrayList();
arrayList2.add(1000);
arrayList2.add(2000);
arrayList2.add(3000);
boolean b = arrayList.addAll(arrayList2);
System.out.println(arrayList);
System.out.println(arrayList2);
boolean remove = arrayList.remove(100);
System.out.println(arrayList);
arrayList.clear();
System.out.println(arrayList);
}
}
5.boolean removeAll (Collection c):移除一个集合的元素(移除一个以上返回的就是true) 删除的元素是两个集合的交集元素,如果没有交集元素 则删除失败 返回false
public class MyTest4 {
public static void main(String[] args) {
Collection arrayList = new ArrayList();
arrayList.add(1000);
arrayList.add(2000);
arrayList.add(3000);
Collection arrayList2 = new ArrayList();
arrayList2.add(1000);
arrayList2.add(2000);
arrayList2.add(3000);
boolean b = arrayList.removeAll(arrayList2);
System.out.println(b);
System.out.println(arrayList);
System.out.println(arrayList2);
}
}
6.判断集合中有没有这个元素,判断和集合是否为空
public class MyTest5{
public static void main(String[] args) {
Collection arrayList = new ArrayList();
arrayList.add(1000);
arrayList.add(2000);
arrayList.add(3000);
boolean contains = arrayList.contains(10000);
System.out.println(contains);
boolean empty = arrayList.isEmpty();
System.out.println(empty);
}
}
7.A集合containsAll(B集合) B集合中的所有元素,在A集合中都能找到,那就返回true,否则返回false
public class MyTest6 {
public static void main(String[] args) {
Collection arrayList = new ArrayList();
arrayList.add(1000);
arrayList.add(2000);
arrayList.add(3000);
arrayList.add(4000);
arrayList.add(5000);
arrayList.add(6000);
Collection arrayList2 = new ArrayList();
arrayList2.add(1000);
arrayList2.add(2000);
arrayList2.add(3000);
arrayList2.add(4000);
arrayList2.add(400);
boolean b = arrayList.containsAll(arrayList2);
System.out.println(b);
}
}
8.
public class MyTest7 {
public static void main(String[] args) {
Collection arrayList = new ArrayList();
arrayList.add(1000);
arrayList.add(2000);
arrayList.add(3000);
arrayList.add(4000);
arrayList.add(5000);
arrayList.add(6000);
int size = arrayList.size();
System.out.println(size);
Iterator iterator = arrayList.iterator();
System.out.println(iterator);
while (iterator.hasNext()){
Object next = iterator.next();
System.out.println(next);
}
}
}
9.A集合对B集合取交集,获取到的交集元素在A集合中。返回的布尔值表示的是A集合是否发生变化
public class MyTest8 {
public static void main(String[] args) {
Collection arrayList = new ArrayList();
arrayList.add(1000);
arrayList.add(2000);
arrayList.add(3000);
arrayList.add(4000);
arrayList.add(5000);
arrayList.add(6000);
arrayList.add(10);
Collection arrayList2 = new ArrayList();
arrayList2.add(1000);
arrayList2.add(2000);
arrayList2.add(3000);
arrayList2.add(4000);
arrayList2.add(5000);
arrayList2.add(6000);
arrayList2.add(8000);
boolean b = arrayList.retainAll(arrayList2);
System.out.println(b);
System.out.println(arrayList);
System.out.println(arrayList2);
}
}
10.使用for循环遍历
public class MyTest9 {
public static void main(String[] args) {
Collection arrayList = new ArrayList();
arrayList.add(1000);
arrayList.add(2000);
arrayList.add(400);
arrayList.add(30000);
arrayList.add(5000);
arrayList.add(6000);
Object[] objects = arrayList.toArray();
System.out.println(Arrays.toString(objects));
for (int i = 0; i < objects.length; i++) {
Object object = objects[i];
Integer num= (Integer) object;
System.out.println(num);
}
}
}
11.遍历集合打印学生信息
public class MyTest91 {
public static void main(String[] args) {
Student s1 = new Student("张三", 23);
Student s2 = new Student("李四", 24);
Student s3 = new Student("王五", 25);
Collection arrayList = new ArrayList();
arrayList.add(s1);
arrayList.add(s2);
arrayList.add(s3);
Iterator iterator = arrayList.iterator();
while (iterator.hasNext()){
Object obj = iterator.next();
Student student= (Student) obj;
System.out.println(student.getName()+"==="+student.getAge());
}
}
}
12.List 接口中的方法
public class MyTest {
public static void main(String[] args) {
List arrayList = new ArrayList();
arrayList.add(100);
arrayList.add(100);
arrayList.add(100);
arrayList.add(100);
arrayList.add(0,200);
arrayList.add(1,300);
System.out.println(arrayList);
System.out.println(arrayList.indexOf(1000));
List list = arrayList.subList(0, 3);
System.out.println(list);
System.out.println(arrayList);
Object o = arrayList.get(0);
System.out.println(o);
Object o1 = arrayList.set(0, 2000);
System.out.println(o1);
System.out.println(arrayList);
}
}
13.遍历List集合
public class MyTest2 {
public static void main(String[] args) {
List arrayList = new ArrayList();
arrayList.add(1001);
arrayList.add(1002);
arrayList.add(1003);
arrayList.add(1004);
Iterator iterator = arrayList.iterator();
while (iterator.hasNext()){
Object next = iterator.next();
System.out.println(next);
}
System.out.println("=========================");
for (int i = 0; i < arrayList.size(); i++) {
Object o = arrayList.get(i);
System.out.println(o);
}
System.out.println("=======================");
ListIterator listIterator = arrayList.listIterator();
System.out.println(listIterator);
while (listIterator.hasNext()){
Object next = listIterator.next();
System.out.println(next);
}
}
}
14.正向迭代、反向迭代
public class MyTest3 {
public static void main(String[] args) {
List arrayList = new ArrayList();
arrayList.add(1001);
arrayList.add(1002);
arrayList.add(1003);
arrayList.add(1004);
ListIterator listIterator = arrayList.listIterator();
while (listIterator.hasNext()){
Object next = listIterator.next();
System.out.println(next);
}
System.out.println("===================");
while (listIterator.hasPrevious()){
Object previous = listIterator.previous();
System.out.println(previous);
}
}
}
15.需求:有一个集合,判断里面有没有 “world” 这个元素,如果有,就添加一个 “javaee” 元素
public class MyTest4 {
public static void main(String[] args) {
List list = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("world");
list.add("ddd");
ListIterator listIterator = list.listIterator();
while (listIterator.hasNext()){
Object obj = listIterator.next();
String str= (String) obj;
if(str.equals("world")){
listIterator.add("javaee");
}
}
System.out.println(list);
System.out.println("==================================");
for (int i = 0; i < list.size(); i++) {
Object obj = list.get(i);
String str = (String) obj;
if (str.equals("world")) {
list.add("php");
}
}
System.out.println(list);
}
}