java集合怎么使用_java集合的方法及使用详解

一、java集合的分类及相互之间的关系

Collection接口:向下提供了List和Set两个子接口

|------List接口:存储有序的,存储元素可以重复

|------ArrayList(主要的实现类)、LinkList(适用于频繁的插入删除操作)、Vector(古老的实现类,线程安全的)

|------Set接口:存储无序,元素不可重复

|------hashSet、LinkHashSet、treeSet

Map接口:存储 “键-值 ”对的数据

|------HashMap、LinkedHashMap、HashTable(子类:properties)

二、Collection集合常用的15中方法,下面分别对15种方法进行详解:

Collection coll=new ArayList();   //创建ArrayList集合对象

方法1. size() :  返回集合中元素的个数;

coll.size();

方法2. add(Object obj):  向集合中添加一个元素,可以是多种不同的类型;

coll.add(123);

coll.add("AA");

coll.add(new Date());

方法3. addAll(Collection coll):   将行参coll中包含的所有元素添加到当前集合中

Collection coll1=Arrays.asList(1,2,3);    //将数组转化为一个集合

coll.addAll(coll1);

方法4. isEmpty():  判断集合是否为空;

coll.isEmpty();

方法5. clear():  清空集合元素;

coll.clear();

方法6. contains():  判断集合中是否包含指定的obj元素,包含返回true,否则返回false;(判断依据:根据元素所在类的equals()方法进行判断,如果存入集合中的元素是自定义类的对象,要求自定义类要重写equal() 方法)

coll.contains("AA");

方法7. containsAll(Collection coll):  判断当前集合中是否包含coll中所有的元素;

Collection coll1=new ArrayList();

coll1.add("AA");

coll1.add(123);

coll.containsAll(coll1);

方法8. retainAll(Collection coll):  取当前集合和coll的共有的元素,返回给当前集(求两个集合的交集)

coll.retainAll(coll1);

方法9. remove(Object obj):  删除一个元素,删除成功返回true,否则返回false;

coll.remove("BB");    //返回false,因为集合coll中不存在元素BB

coll.remove("AA");    //返回true,元素AA删除成功

方法10. removeAll(Collection coll):  从当前集合中删除包含在集合coll中的元素(求两个集合的差集);

coll.removeAll(coll1)

方法11: equals(Object obj):  判断两个集合中所有元素是否完全相同;

Collection coll2=new ArrayList();

coll2.add(123);

coll1.equals(coll2);

方法12: hashCode():  计算机集合中的hash值;

coll.hashCode();

方法13: toArray():  将集合转化为数组;

Object obj=coll.toArray();

方法14. iterator():  返回一个Iterator接口实现类的对象,实现集合的遍历;

Iterator iterator=coll.iterator();

iterator.next();    //返回集合元素

while(iterator.hasNext()){  terator.next();  }  //实现元素迭代输出

二、下面讲解Collection集合的遍历:

集合正确的遍历方法:

方法1. Iterator迭代器遍历(常用):

Iterator i=coll.iterator();

while(i.hasNext()){  i.next();  }

如下图:i.next()方法最初指向的是Iterator对象集合的初始位置即橙黄色区域的位置,相当于栈 -1的位置,不包含任何集合元素,必须使用i.hasNext()方法判断下一个元素是否为空。

null

123

AA

new Date()

new Person()

错误的使用方法:

while(i.next()!=null){  i.next();  }

方法2. 增强for循环遍历:

for(Object i : coll){  i;  }

方法三:简单for循环遍历:

for(int i=0;i

四、List相对于Collection新增加的方法

List list=new ArrayList();

方法1. Object set(int index , Object obj):  将位置为index的元素更改为obj元素

方法2. Object get(int index):  获取指定位置的元素

方法3. void add(int index , Object obj): 指定位置增加元素

方法4. boolean addAll(int index , Collection eles)

方法5. int indexOf(Object obj):  返回当前对象在集合中首次出现的位置,找不到返回-1

方法6. int lastIndexOf(Object obj):  返回obj元素最后一次出现在集合中的位置

方法7. Object remove(int index):  删除指定位置的元素

方法8. List subList(int fromIndex , int toIndex):获取从fromIndex到toIndex结束的左闭右开的List集合

2aa6d2323ef7effa20a10d0d08b6a45e.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值