容器API

容器:java API 所提供的一系列的实例,用于在程序中存放对象
容器API:
Collection接口——定义了存取一组对象的方法,其子接口Set(没有顺序且不可以重复)和List(有顺序且可以重复)分别定义了存储方式
Map(接口)——定义了存储“键(key)—值(value)映射对“的方法

容器类对象在调用remove、contains等方法时需要比较对象是否相等,这会涉及到对象类型的equals和hashCode方法;对于自定义的类型,需要重写equals和hashCode方法以实现自定义的对象相等规则;相等的对象应该具有相等的hashCode

Collection接口:

Iterator接口:所有实现了Collection接口的容器都有一个iterator方法用以返回一个实现了Iterator接口的对象、Iterator对象称作迭代器,用以方便的实现对容器内元素的遍历操作、Iterator接口定义了如下方法:
 boolean hashNext();
Object next();
void remove();
Iterator对象的remove方法是在迭代过程中删除元素的唯一的安全方法

Set接口:是Collection的子接口,Set接口没有提供额外的方法,但是实现Set接口的容器类中的元素是没有顺序且不可以重复,Set容器类有HashSet、TreeSet

List接口:(降序排列——先升序排列,再逆序)是Collection的子接口,实现List接口的容器类中的元素是有顺序且可以重复,List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素,List容器类有ArrayLis,LinkedList。 Array读快改慢、Linked该快读慢、Hash两者之间

comparable接口:通过实现compareTo方法确定该类对象的排列方式
import java.util.*;

public class BasicGeneric {
public static void main(String[] args) {
List<String> c = new ArrayList<String>();
c.add("aaa");
c.add("bbb");
c.add("ccc");
for (int i = 0; i < c.size(); i++) {
String s = c.get(i);
System.out.println(s);
}

Collection<String> c2 = new HashSet<String>();
c2.add("aaa");
c2.add("bbb");
c2.add("ccc");
for (Iterator<String> it = c2.iterator(); it.hasNext();) {
String s = it.next();
System.out.println(s);
}
}
}

class MyName implements Comparable<MyName> {
int age;

public int compareTo(MyName mn) {
if (this.age > mn.age)
return 1;
else if (this.age < mn.age)
return -1;
else
return 0;
}
}


map接口:实现map接口的类用来存储键—值对、map接口的实现类有hashmap和TreeMap等、Map类中存储的键—值对通过键来标识,所以键值不能重复(用hashcode实现)

import java.util.*;

public class TestMap2 {
public static void main(String args[]) {
Map<String, Integer> m1 = new HashMap<String, Integer>();
m1.put("one", 1);
m1.put("two", 2);
m1.put("three", 3);

System.out.println(m1.size());
System.out.println(m1.containsKey("one"));

if (m1.containsKey("two")) {
// int i = ((Integer)m1.get("two")).intValue();
int i = m1.get("two");
System.out.println(i);
}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值