黑马程序员——集合

本文介绍了Java集合框架中的核心概念,包括Iterable接口、List和Set接口的实现类ArrayList、LinkedList和HashSet。ArrayList适合数组查询,LinkedList基于链表实现,适合增删改操作。HashSet通过哈希表存储数据,确保元素唯一性。TreeSet基于二叉树,提供排序功能。此外,还探讨了自定义比较器和Map集合,如HashMap和TreeMap的使用,以及如何从Map中取出数据。
摘要由CSDN通过智能技术生成
---------------------- android培训、java培训、期待与您交流! ----------------------

集合就是用来存放一组数据的。可以认为它是一个容器。

集合的体系:

集合中的超类接口:Iterable

Collection接口中两个主要子接口:List 、Set

先来看下实现List接口的ArrayList类:

import java.util.*;
public class ListTest {
	public static void main(String[] args) {
		List list=new ArrayList();
		Person p1=new Person("张三",34);
		Person p2=new Person("李四",23);
		Person p3=new Person("王五",45);
		list.add(p1);
		list.add(p1);
		list.add(p3);
		list.add(p2);
		Iterator it=list.iterator();
		nextPerson(it);
		
	}
	private static void nextPerson(Iterator it) {
		while(it.hasNext()){
			Person p=(Person)it.next();
			System.out.println(p);
		}
	}
}
class  Person{
	private String name;
	private int age;
	public Person(String name,int age){
		this.name=name;
		this.age=age;
	}
	public String toString(){
		return this.name+"------"+this.age;
	}
}
运行结果:

张三------34
张三------34
王五------45
李四------23
ArrayList集合类原理是由可变数组实现的,所以打印的结果是有序的可重复的。

如果要想对集合中的数组查询时,可用ArrayList集合,因为数组都有下标,可以根据下标来查询某个指定位置的数据。如下

public class ListTest {
	public static void main(String[] args) {
		List list=new ArrayList();
		list.add(new Person("张三",23));
		list.add(new Person("李四",35));
		list.add(new Person("王五",45));
		list.add(new Person("张三",23));
		Person p=(Person)list.get(1);
		System.out.println(p);
	}
}
运行结果:李四------35

实现List接口的LinkedList类:这个集合类原理是由链表实现的。先可以通过一个程序来看看效果。

import java.util.*;
public class ListTest {
	public static void main(String[] args) {
		LinkedList list=new LinkedList();
		list.addFirst(new Person("张三",34));
		list.addFirst(new Person("李四",23));
		list.addLast(new Person("张三",3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值