wordpress做网站容易吗,百度做网站多少钱一年,wordpress 悬浮联系,建企业网站公司目录
30.1什么是集合?
30.1.2为什么使用集合
30.1.3自己创建一个集合类
30.1.3 集合框架有哪些? 30.1.2使用ArrayList集合
30.2增加元素 30.3查询的方法
30.4删除
30.5 修改
30.6泛型 30.1什么是集合? 我们之前讲过数组#xff0c;数组中它也可以存放多个元素。集合…
目录
30.1什么是集合?
30.1.2为什么使用集合
30.1.3自己创建一个集合类
30.1.3 集合框架有哪些? 30.1.2使用ArrayList集合
30.2增加元素 30.3查询的方法
30.4删除
30.5 修改
30.6泛型 30.1什么是集合? 我们之前讲过数组数组中它也可以存放多个元素。集合就是一个容器里面可以存放若干个元素。 30.1.2为什么使用集合 数组的长度是固定而且数组中数据类型必须统一。 int[] arrnew int[10]; 引入了集合。可以存放。 集合它是一个类只是该类中存在增加元素删除元素修改元素统计元素的个数等方法。 30.1.3自己创建一个集合类 它也可以无限的增加元素增加任意类型的元素。 package demo01;import java.util.Arrays;public class MyArray {//存放集合元素的private Object [] arrnew Object[3];//表示集合中元素的个数private int size;/*** 添加元素* param o*/public void add(Object o){//判断数组是否已满。if(sizearr.length){//扩容--并把原来数组中得元素放入新数组arrArrays.copyOf(arr,arr.length*2);}arr[size]o;size;}/*** 根据下标获取指定元素* param index* return*/public Object get(int index){if(index0||indexsize){throw new RuntimeException(给定下标越界);}return arr[index];}//获取集合的长度--元素的个数public int size(){return size;}
}你都可以想到创建一个类该类可以不断的增加元素jdk官方一定也会想到创建一个类可以不断的增加元素。官方会根据不同的数据结构创建不同的类。而官方提供的这些类---集合框架。 30.1.3 集合框架有哪些? 底层也是使用数组。允许元素重复而且根据下标获取元素查询效率非常高。删除和添加慢。 30.1.2使用ArrayList集合
必须创建该类的对象。 public ArrayList(){} 默认分配数组的个数10个 public ArrayList(int size){} 人为指定数组元素的个数 30.2增加元素
public class Test02 {public static void main(String[] args) {ArrayList list new ArrayList();list.add(java01);list.add(java02);list.add(15);list.add(25.6);list.add(true);//往集合尾部追加。list.add(3,欧炜健);list.add(3,赖林龙);System.out.println(list);}
} 30.3查询的方法
package demo02;import java.util.ArrayList;
import java.util.Objects;public class Test {public static void main(String[] args) {ArrayList listnew ArrayList();list.add(new People(赖林龙,18));list.add(new People(胡荣纯,17));list.add(new People(吴韩煜,19));list.add(new People(赖林龙,18));boolean is list.contains(new People(胡荣纯, 17));System.out.println(is); //equals方法比较。int i list.indexOf(new People(吴韩煜, 19));System.out.println(第一次出现的位置:i);//求集合中元素的个数:int size list.size();System.out.println(集合中元素的个数:size);//遍历集合for(int a0;alist.size();a){Object o list.get(a);System.out.println(o);}System.out.println(增强循环);for (Object o : list) {System.out.println(o);}}
}
class People{private String name;private int age;Overridepublic String toString() {return People{ name name \ , age age };}Overridepublic boolean equals(Object o){//this//表示调用当前方法的对象//重写equalsif(thiso){return true;}if(! (o instanceof People)){return false;}People p (People) o;if(p.getAge()this.getAge()p.getName().equals(this.getName())){return true;}return false;}public People() {}public People(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;}
} 定义一个学生类: name,school,age 创建一个集合对象ArrayList. 里面存放5个学生。 1判断某个学生对象是否在集合中 2查看指定学生第一次在集合中出现的位置 3求集合中元素的个数 4遍历集合---使用两种方式 30.4删除
ArrayList listnew ArrayList();list.add(new People(赖林龙,18));list.add(new People(胡荣纯,17));list.add(new People(吴韩煜,19));list.add(new People(赖林龙,18));list.add(new People(吴韩煜,19));list.remove(3);//根据下标删除指定的元素list.remove(new People(吴韩煜,19));//根据内容移除第一个。list.clear();//清空内容System.out.println(增强循环);for (Object o : list) {System.out.println(o);}
30.5 修改
ArrayList listnew ArrayList();list.add(new People(赖林龙,18));list.add(new People(胡荣纯,17));list.add(new People(吴韩煜,19));list.add(new People(赖林龙,18));list.add(new People(吴韩煜,19));list.set(2,new People(张学友,16));//修改指定位置上的内容List list1 list.subList(1, 3); //截取集合System.out.println(list1);
30.6泛型 E:表示泛型标识符---在创建类对象时指定数据类型如果没有指定那么该类型为Object. public class Test03 {public static void main(String[] args) {//规定集合中存放的数据类型。--获取元素是就是对应的类型。ArrayListPeople listnew ArrayList();list.add(new People(赖林龙,18));list.add(new People(胡荣纯,17));list.add(new People(吴韩煜,19));list.add(new People(无效五,19));list.add(new People(赖林龙,18));list.add(new People(吴志雄,18));list.add(new People(吴韩煜,19));list.add(new People(吴三桂,18));//找到集合中所有姓吴的for (People people : list) {boolean b people.getName().startsWith(吴);if(b){System.out.println(people);}}}
}