java 集合框架JCF

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wei00d6ra/article/details/39124487
数据多了,就需要封装,对象多了,也需要存储,可以用数组或集合对对象进行存储,但数组长度不能改变,在实际应用中有缺点,因此使用集合。
Java集合类主要有两个接口派生而出。



从Java SE 5.0开始,集合类是带有类型参数的的泛型类

  • Array读快改慢   数组实现的,
  • Linked读慢改快
  • Hash位于两者之间


Set集合没有顺序,且不可以重复,(重复是编译不会错,但检查集合大小时少与重复的。判断集合中有没有对象,有就放不进去)
List集合有顺序,且可以重复。实现类有LinkedList(链接列表实现)、ArrayList(大小可变数组实现)等


Map 接口定义了key - ---value的映射方法  查找比集合好 键一般不重复,有一个keySet方法,将Map中所有的Key,用集合返回。
使用方式:
      每一项都是成对出现的key决定了对象在Map中的位置

Collection 和Iterator接口
Collection定义的方法:
   boolean remove(Object o);删除集合中指定元素o,并返回一个boolean类型的值。
  Object[] toArray();该方法把集合转换成一个数组。



遍历集合方法:(3种)
第一种通过索引遍历
第二种通过foreach遍历
ArrayList<Student> arr=new ArrayList<Student>();
arr.add(s1);
arr.add(s2);
arr.add(s3);
...
for(Student m:arr){}
这种遍历并不知道在循环体当中,访问到第几个元素。

第三种通过Iterator对象遍历。

 
public interface Iterator<E>
{
    E next();
    boolean hasNext();
    void remove();
}
反复调用next()方法,可以逐个访问集合中的所有元素,但如果到达结尾,会抛出一个NoSuchElementException异常,因此在调用next()方法之前先调用hsaNext()方法进行判、判断
例如:
       Collection<String> c=...;
       Iterator<String> iter=c.iterator();
       while(iter.hasNext())
       {
              String element=iter.next();
              //do something with element;
        }

猜你喜欢

转载自blog.csdn.net/wei00d6ra/article/details/39124487