【JAVA】关于ArrayList类的添加、删除、修改、查询、排序、最大值、最小值的傻瓜用法(“纯源代码+注释”招呼)。

常用方法 解释
add([int index],E element)和addAll([int index],Collection c) 增加元素,起始位置为0
 object get(int index) 通过索引号,获取元素值
boolean contains(Object o) 判断元素是否存在,返回boolean值
boolean containsAll(Collection c) 判断元素是否存在,返回boolean值
size() 返回集合数量(对象是行数)

boolean  contains

boolean containsAll(Collection c)

判断元素是否存在
set(int index,Object o) 覆盖或修改元素值 
indexOf(Object o)  起始位置为0,查某个指定的字符串在字符串首次出现的位置(索引值),前往后查 
lastIndexOf(Object o) 反向顺序,是从右向左查某个指定的字符串在字符串中最后一次出现的位置也,从后往前查。
toArray() 把内容放到数组中

iterator()

listIterator([int index]) 

迭代器

remove(int index)

remove(Object o)

removeAll(Collection c)

删除元素

IsEmpty()

判断元素值是否为空
clear() 清空集合

 

 

 

 

 

 

0.【一个菜鸟被绕晕的问题】

List m_student = new ArrayList(); // 建立一个空的ArrayList集合

ArrayList m_student = new ArrayList(); // 建立一个空的ArrayList集合

List m_student = new LinkedList(); // 建立一个空的ArrayList集合

LinkedList m_student = new LinkedList(); // 建立一个空的ArrayList集合

到底是用List 还是用ArrayList?其实后面的方法不一样。LIst是通用方法,而ArrayList和LinkedList有自己的方法。

【JAVA】关于ArrayList类的添加、删除、修改、查询、排序、最大值、最小值的傻瓜用法(“纯源代码+注释”招呼)。_第1张图片

【JAVA】关于ArrayList类的添加、删除、修改、查询、排序、最大值、最小值的傻瓜用法(“纯源代码+注释”招呼)。_第2张图片

【JAVA】关于ArrayList类的添加、删除、修改、查询、排序、最大值、最小值的傻瓜用法(“纯源代码+注释”招呼)。_第3张图片

 

 一、把单独的“字符串”存入到ArrayList容器类中。 

 

package book;
import java.util.ArrayList;
public class book {

	public static void main(String[] args) {
		
		ArrayList m_book = new ArrayList();  // 声明一个对象 
		
		// ======== 【添加】往m_book中添加内容,每个内容一个元素。
		
		m_book.add("1、《Java大全》");
		m_book.add("2、《Excel入门》");
		m_book.add("3、《Word精通》");
		m_book.add("4、《HTML指南》");
		m_book.add("5、《SQL数据库基础》");
		
		m_book.add(1,"2、《php攻略》");  // 在第1个元素之前接入内容,注意:是从0开始的,这里的1就是2.
		
		// 循环遍历出 m_book中每一个元素的值。 
		
		for(String i:m_book)
		{
			System.out.println(i);
		}
		
		// ======= 【删除】删除m_book某元素的值。 

		System.out.println("---------- 删除某个元素");
		m_book.remove(2);  // 删除第2个元素,注意:从0开始计算,这里的2就是3.
		for(String i:m_book)
		{
			System.out.println(i);
		}
		
		System.out.println("--------- 按内容删除");
		m_book.remove("5、《SQL数据库基础》");  // 按内容删除,注意:内容要一模一样.
		for(String i:m_book)
		{
			System.out.println(i);
		}
		
		System.out.println("---------------\\ 清空");
		 m_book.clear();  // 清空内容.
		for(String i:m_book)
		{
			System.out.println(i);
		}
		
		// ======= 【修改或替换】m_book某元素的值。 
		
		System.out.println("------- \\ 修改替换某个元素内容");
		m_book.add("1、《Java大全》");
		m_book.add("8、《Excel入门》");
		m_book.add("3、《Word精通》");
		m_book.add("4、《HTML指南》");
		m_book.add("5、《SQL数据库基础》");
		
		m_book.set(1,"2、《Excel入门》"); // 替换第1个元素内容,注意,从0开始,这里的1是2.
		
		for(String i:m_book)
		{
			System.out.println(i);
		}
		
		// ======= 【查询】某一个元素的值。 
		
		System.out.println("------- \\ 查询】某一个元素的值");
		
		String aaa=m_book.get(1); // 替换第1个元素内容,注意,从0开始,这里的1是2.
		
		System.out.println("第二个元素值是:"+aaa);
		
	}

}

二、把一个类的“数组值”存入到ArrayList容器类中。

1、database.java 

package Book;
import java.util.ArrayList;
import org.omg.CORBA.PUBLIC_MEMBER;

public class database {

	private ArrayList ListBook = new ArrayList();  // book.java类关联ArrayList

	public void add(book booklist) // 往ArrayList中添加book类数组格式的内容
	{
		ListBook.add(booklist);
	}		
	
	public void list()  // 遍历ListBook中的值
	{
		for (book booklist : ListBook)
		{
			booklist.print(); // 调用book中的print方法
		}
	}
		
	public static void main(String[] args)  // 向ArrayList中写入内容
	{
	 database aaa = new database();
	 aaa.add(new book("JAVA语言开发", 45, 568, "张杰"));
	 aaa.add(new book("Python开发", 88, 300, "牛人"));
	 aaa.list();
	}
}

2、Book.java 

package Book;
public class book {

    // ================= 建立了书的参数,也可以叫字段名
	
	private String name;  // 书的名称
	private int price; // 书的价格
	private int page; // 书的页数
	private String men; // 书的作
	
	public book(String name, int price, int page, String men) // 调用参数 
	{
		//super();
		this.name = name;
		this.price = price;
		this.page = page;
		this.men = men;
	}

	public void print()  // 显示内容
	{
		System.out.println("书名"+name+"    价格"+price+"元");
		
	}
	public static void main(String[] args) {

	}


}

三、ArrayList的另一个操作构造函数的实例 

1、Student.java (构造函数类)

package z_ArrayList;

public class Student {
	

	private int id;   // 编号
	private String name;// 姓名
	private String old;// 年龄
	
	public Student() {}
	public Student(int id, String name, String old) {

		this.id = id;
		this.name = name;
		this.old = old;
	}
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getOld() {
		return old;
	}
	public void setOld(String old) {
		this.old = old;
	}	
	
}

2、AList.java(操作类)

package z_ArrayList;

import java.util.*;
public class AList {

	public static void main(String[] args) 
	{
		
		List m_student = new ArrayList();  // 建立一个空的ArrayList集合
		Student student_1=  new Student(1,"张三","15");  // 实例化Student类,并存入数据"
		Student student_2=  new Student(2,"李四","16");
		Student student_3=  new Student(2,"李四","16");
		
		// --------- 添加(是追加,不是插入) add
		
		m_student.add(student_1);  // 把类存入数组ArrayList中 
		m_student.add(student_2);
		m_student.add(new Student(3,"王五","18"));  // 也可以直接写入类对象

		m_student.add(new Student(2,"店小二","15"));  // 在最后插入一行数据
		
		
		
		System.out.println("学生信息的行数:"+m_student.size());  // 判断对象数组有几行
		
		// ----------  查询和遍历 for
		
		for(int i=0;i

四、ArrayList的泛型实例 

为什么要用泛型?不用再GET获取值时,强制转换格式了。

正常:List m_student = new ArrayList(); 

泛型:List m_student = new ArrayList();  把构造函数格式或数据类型存入了。

正常get调用: Student student = (Student)m_student.get(i);

泛型get调用: Student student = m_student.get(i);

package z_ArrayList;

import java.util.ArrayList;
import java.util.List;

public class fanxing {

	public static void main(String[] args) {
		List m_student = new ArrayList();  // 建立一个空的ArrayList集合
		// List m_student = new ArrayList();  // 建立一个空的ArrayList集合

		Student student_1=  new Student(1,"张三","15");  // 实例化Student类,并存入数据"
		Student student_2=  new Student(2,"李四","16");
		Student student_3=  new Student(2,"李四","16");	
		
		// --------- 添加(是追加,不是插入) add
		
		m_student.add(student_1);  // 把类存入数组ArrayList中 
		m_student.add(student_2);
		m_student.add(new Student(3,"王五","18"));  // 也可以直接写入类对象

		m_student.add(new Student(2,"店小二","15"));  // 在最后插入一行数据
		
		
		
		System.out.println("学生信息的行数:"+m_student.size());  // 判断对象数组有几行
		
		// ----------  查询和遍历 for
		
		for(int i=0;i

五、ArrayList排序、最大值、最小值(单项值)

package z_ArrayList;

import java.util.*;
public class z_Sort {

	public static void main(String[] args) {
		
		List m_list=new ArrayList();
		m_list.add("C1");
		m_list.add("Z2");
		m_list.add("L3");
		m_list.add("z2");
		m_list.add("Q4");
		
		System.out.println("======= 对字符型最大值、最小值、排序 ========\n");
		System.out.println( "最大值是:"+Collections.max(m_list));
		System.out.println( "最小值是:"+Collections.min(m_list));
		System.out.println("\n== 正常排序 ==\n");

		Collections.sort(m_list);
		for(int i=0;i mm_list=new ArrayList();
		mm_list.add(1);
		mm_list.add(2);
		mm_list.add(3);
		mm_list.add(4);
		mm_list.add(5);
		
		System.out.println( "最大值是:"+Collections.max(mm_list));
		System.out.println( "最小值是:"+Collections.min(mm_list));
		System.out.println("\n== 正常排序 ==\n");

		Collections.sort(mm_list);
		for(int i=0;i

五、ArrayList排序、最大值、最小值(多个对象的集合)

1.Student.java(构造函数类)

两个关键点:基于compareTo实现。

1、public class Student implements Comparable {

2、这段代码

	// ========== 按学号排序方法
	
	public int compareTo(Object o)
	{
		Student student=(Student)o;
		if(this.id==student.id)
		{
			return 0;
		}
		else if(this.id>student.id) 
		{		
			return 1;
		}
		else if(this.id

完整代码:

package z_ArrayList;

public class Student implements Comparable {
	

	private int id;   // 编号
	private String name;// 姓名
	private String old;// 年龄
	
	public Student() {}
	public Student(int id, String name, String old) {

		this.id = id;
		this.name = name;
		this.old = old;
	}
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getOld() {
		return old;
	}
	public void setOld(String old) {
		this.old = old;
	}
	
	// ========== 按学号排序方法
	
	public int compareTo(Object o)
	{
		Student student=(Student)o;
		if(this.id==student.id)
		{
			return 0;
		}
		else if(this.id>student.id) 
		{		
			return 1;
		}
		else if(this.id

2.Sort.java(排序、最大化、最小化类)

主要是:Collections.sort(m_student);

package z_ArrayList;

import java.util.*;

public class Sort {

	public static void main(String[] args) {
		

			List m_student = new ArrayList();  // 建立一个空的0ArrayList集合

			Student student_1=  new Student(3,"张三","15");  // 实例化Student类,并存入数据"
			Student student_2=  new Student(1,"李四","18");
			Student student_3=  new Student(2,"周二","17");	
			Student student_4=  new Student(4,"王五","16");	
			
			m_student.add(student_1);  // 把类存入数组ArrayList中 
			m_student.add(student_2);
			m_student.add(student_3);
			m_student.add(student_4);
			
			// ----------  查询和遍历 for
			
			Collections.sort(m_student);
			
			for(int i=0;i

 

 

 

 

 

 

 

你可能感兴趣的:(21.【Java】)