Java集合框架

java

1.集合和数组的区别

  • 数组长度是固定的,集合长度是可变的

  • 数组可以存储基本类型和引用类型,集合只能存储引用类型

2.Collection体系集合

List接口的特点:

有序、有下标、元素可重复

Set接口的特点:

无序、无下标、元素不能重复

2.1Collection父接口

特点:代表一组任意类型的对象,无序、无下标、不能重复

方法:

  • boolean add(Object obj) //添加一个对象

  • boolean addAll(Collection c) //将一个集合中的所有对象添加到此集合中

  • void clear() //清空此集合中的所有对象

  • boolean contains(Object o) //检查此集合中是否包含o对象

  • boolean equals(Object o) //比较此集合是否与指定对象相等

  • boolean isEmpty() //判断此集合是否为空

  • boolean remove(Object o) //在此集合中移除o对象

  • int size() //返回此集合中的元素个数

  • Object[] toArray() //将此集合转换成数组

collection操作:

package com.framework.collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/*
Collection接口的使用
1。添加元素
2。删除元素
3。遍历元素
4。判断
*/
public class Demo01 {
   public static void main(String[] args) {
       //创建一个集合
       Collection collection = new ArrayList();
       //1。添加元素
       collection.add("苹果");
       collection.add("榴莲");
       collection.add("香蕉");
       System.out.println("元素个数:" + collection.size());
       System.out.println(collection);
       //2。删除元素
       collection.remove("榴莲");
       System.out.println("剩下的元素:" + collection);
       System.out.println("===========================================");
       //清空 collection.clear();
       //3。遍历元素
       //增强for循环
       for (Object object: collection) {
           System.out.println(object);
      }
       System.out.println("===========================================");
       //使用迭代器(专门用于遍历集合的方式)
       //hasNext();有没有下一个元素
       //next();获取下一个元素
       //remove();删除当前元素
       Iterator it = collection.iterator();
       while (it.hasNext()){
           String s = (String) it.next();
           System.out.println(s);
           it.remove();
      }//迭代器迭代过程中不能使用collection删除方法删除元素
       System.out.println(collection.size());
       System.out.println("===========================================");
       //4。判断
       System.out.println(collection.contains("苹果"));
       System.out.println(collection.isEmpty());
  }
}

package com.framework.collection;

import org.w3c.dom.ls.LSOutput;

public class Student {
   private String name;
   private int age;

   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 +
               '}';
  }
}

package com.framework.collection;

import java.util.ArrayList;
import java.util.Collection;

public class Demo02 {
   public static void main(String[] args) {
       //collection的使用
       //新建一个collection对象
       Collection collection = new ArrayList();
       Student s1 = new Student("zhangsan", 22);
       Student s2 = new Student("zhao", 21);
       Student s3 = new Student("wang", 20);
       //添加学生数据
       collection.add(s1);
       collection.add(s2);
       collection.add(s3);
       collection.add(s3);
       System.out.println("元素个数:" + collection.size());
       System.out.println(collection.toString());
       //删除
       collection.clear();//对象和集合都在堆中,集合中储存的是对象的地址,删除是删除集合中的地址,对象还在
       System.out.println("删除之后:" + collection.toString());
       //遍历
       //增强for
       System.out.println("==========================================");
       for (Object object: collection) {
           Student s = (Student) object;
           System.out.println(s.toString());
      }
       System.out.println("==========================================");
       //迭代器
       Iterator it = collection.iterator();
       while (it.hasNext()){
           Student s = (Student) it.next();
           System.out.println(s.toString());
      }
       //判断
       System.out.println(collection.contains(s1));
       System.out.println(collection.isEmpty());
  }
}

3.List集合

特点:有序、有下标、元素可以重复

方法:

  • void add(int index,Object o) //在index位置插入对象o

  • boolean addAll(int index,Collection c) //将一个集合中的元素添加到此集合中的index位置

  • Object get(int index) //返回集合中指定位置的元素

  • List subList(int fromIndex , int toIndex) //返回fromIndex和toIndex之间的集合元素

package com.framework.list;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

public class Demo01 {
   public static void main(String[] args) {
       //先创建集合对象
       List list = new ArrayList();
       //添加元素
       list.add("手机");
       list.add("手表");
       list.add("电脑");
       System.out.println("元素的个数:" + list.size());
       System.out.println(list.toString());
       //删除
       //list.remove("手机");
       list.remove(0);
       System.out.println("删除之后:" + list.toString());
       //遍历
       //for
       for (int i = 0; i < list.size(); i++) {
           String s = (String) list.get(i);
           System.out.println(s);
      }
       System.out.println("=========================");
       //增强for
       for (Object o : list) {
           System.out.println(o);
      }
       System.out.println("=========================");
       //迭代器
       Iterator it = list.iterator();
       while (it.hasNext()){
           System.out.println(it.next());
      }
       System.out.println("==========================");
       //使用列表迭代器,和Iterator区别
       //listIterator可以向前或向后遍历,添加,删除,修改元素
       ListIterator lit = list.listIterator();
       System.out.println("=============使用列表迭代器从前往后=================");
       while (lit.hasNext()){
           System.out.println(lit.nextIndex() + ":" + lit.next());
      }
       System.out.println("=============使用列表迭代器从后往前=================");
       while (lit.hasPrevious()){
           System.out.println(lit.previousIndex() + ":" + lit.previous());
      }
       System.out.println("============================");
       //判断
       System.out.println(list.contains("电脑"));
       System.out.println(list.isEmpty());
       System.out.println(

以上是 Java集合框架 的全部内容, 来源链接: utcz.com/z/393208.html

回到顶部