collection接口:

collection是单列集合接口的根接口,该接口中又包含了多个集合接口,collection接口提供了很多操作集合的方法,比如添加元素的方法,删除元素的方法,修改元素的方法等。

collection接口的常用方法
boolean add(E e)                                            将指定的对象添加到集合当中            
bolean remove(object o)            删除集合中的指定对象
bolean isEmpty()            判断集合中是否包含元素
int size()            获取集合中元素的个数
object [] toArray           返回包含集合中所有元素的数组
iterator<E> itterator           返回集合的迭代器,用于遍历该集合2018-05-20
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator; public class collectionTest {
public static void main(String[] args) {
Collection c=new ArrayList();//实例化实现了collection接口的类 //向集合中添加数据
c.add("A");
c.add("B");
c.add("C");
//判断集合中是否存在数据
System.out.println(c.isEmpty());
System.out.println(c.size());//获取集合长度
System.out.println("集合中元素为");
Iterator it=c.iterator();//获取集合迭代器对象
while(it.hasNext()){//判断集合中是否有下一个元素
String s =(String) it.next();
System.out.println(s);
} } }

List接口:

List 接口继承了collection接口,List集合中允许出现重复的元素

而且存储在该集合的元素是有序的。

List 接口常用实现类有ArrayList类与LinkedList类

add(int index,object obj)                                                          向集合的index索引处添加obj对象               
  remove(int index)                            移除index索引处的集合对象
set(int index,object obj)                   修改index索引处的对象
get(int index)                   获取index索引出的集合对象
indexof(object obj)                   获取对象obj在集合中第一次出现的索引值
lastIndexof(object obj)                    获取对象obj在集合中最后一次出现的索引值   
方法名称     说明

ArryayList集合的使用:

Java中数值一旦创建其长度就不可改变,为了解决这个问题,集合框架定义了ArryaList类

public static void main(String[] args) {
// TODO Auto-generated method stub
Collection ls=new ArrayList ();
ls.add("a");
ls.add("b");
ls.add("c");
ls.add("d"); System.out.println("a的索引为"+((ArrayList) ls).indexOf("a"));
System.out.println("a的索引为"+((ArrayList) ls).lastIndexOf("a"));
System.out.println("..........集合的元素的内容.........");
// for(int i=0;i<ls.size();i++){
// String s=(String) ((ArrayList) ls).get(i);
// System.out.println(s);
//
// }
Iterator it=ls.iterator();
while(it.hasNext()){
String s =(String) it.next();
System.out.println(s);
}
}

LinkedlList集合的使用:

        方法名称                    说明
 object getFirst()    获取集合中的第一个元素
 object getLast()  获取结合中的最后一个元素
 void addFirst(E e)  将指定元素添加到集合的开头
void addLalt(E a)  将指定元素添加到集合的结尾

ArryayList集合和LinkedlList集合的区别:

ArryayList集合是实现了动态数组数据结构的集合,LinkedlList集合是实现了链表数据结构的集合。对于遍历集合元素操作,ArryayList集合效率优于LinkedlList集合

,对于增加和删除元素的操作,LinkedlList集合效率优于ArryayList集合。

Clloection接口 与List接口的更多相关文章

  1. 转】C#接口-显式接口和隐式接口的实现

    [转]C#接口-显式接口和隐式接口的实现 C#中对于接口的实现方式有隐式接口和显式接口两种: 类和接口都能调用到,事实上这就是“隐式接口实现”. 那么“显示接口实现”是神马模样呢? interface ...

  2. JDBC的使用(二):PreparedStatement接口;ResultSet接口(获取结果集);例题:SQL注入

    ResultSet接口:类似于一个临时表,用来暂时存放数据库查询操作所获得的结果集. getInt(), getFloat(), getDate(), getBoolean(), getString( ...

  3. 比较器:Compare接口与Comparator接口区别与理解

    一.实现Compare接口与Comparator接口的类,都是为了对象实例数组排序的方便,因为可以直接调用 java.util.Arrays.sort(对象数组名称),可以自定义排序规则. 不同之处: ...

  4. 集合中Set接口与Collection接口,常用子类TreeSet,HashSet.

    Set接口与List接口的不同之处在于: 不允许有重复的数据. 定义如下: public interface Set<E>extends Collection<E> 主要方法与 ...

  5. Callable接口、Runable接口、Future接口

    1. Callable与Runable区别 Java从发布的第一个版本开始就可以很方便地编写多线程的应用程序,并在设计中引入异步处理.Thread类.Runnable接口和Java内存管理模型使得多线 ...

  6. 转载-- http接口、api接口、RPC接口、RMI、webservice、Restful等概念

     http接口.api接口.RPC接口.RMI.webservice.Restful等概念 收藏 Linux一叶 https://my.oschina.net/heavenly/blog/499661 ...

  7. C#集合--ICollection接口和IList接口

    虽然列举接口提供了一个协议,用于向前的方式遍历集合,但它们没有提供一种机制来确定集合的大小,通过索引访问集合的成员,搜索集合,或修改集合.为了实现这些功能,.NET Framework定义了IColl ...

  8. Java对象克隆(Clone)及Cloneable接口、Serializable接口的深入探讨

    Java对象克隆(Clone)及Cloneable接口.Serializable接口的深入探讨 Part I 没啥好说的,直接开始Part II吧. Part II 谈到了对象的克隆,就不得不说为什么 ...

  9. Java基础知识强化104:Serializable接口 与 Parcelable接口

    1. 什么是 序列化 和 反序列化 ?     序列化 :序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化.可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间.序 ...

随机推荐

  1. C++11特性 - Smart Pointers 智能指针

    已经有成千上万的文章讨论这个问题了,所以我只想说:现在能使用的,带引用计数,并且能自动释放内存的智能指针包括以下几种:         unique_ptr: 如果内存资源的所有权不需要共享,就应当使 ...

  2. myfirstBI项目总结

    app 应用信息统计: saiku安装:http://blog.csdn.net/longshenlmj/article/details/17359645 workbench解压即用,http://b ...

  3. OpenGL OpenCV根据视差图重建三维信息

    代码如下: // disparity_to_3d_reconstruction.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" //Huan ...

  4. LeetCode之旅(22)-House Robber

    题目: You are a professional robber planning to rob houses along a street. Each house has a certain am ...

  5. OpenCV手写数字字符识别(基于k近邻算法)

    摘要 本程序主要参照论文,<基于OpenCV的脱机手写字符识别技术>实现了,对于手写阿拉伯数字的识别工作.识别工作分为三大步骤:预处理,特征提取,分类识别.预处理过程主要找到图像的ROI部 ...

  6. java中List对象的操作方法

    List<String> list = new ArrayList<String>(); //增加 list.add("苹果"); list.add(&qu ...

  7. sqlite 数据类型 <转>

    一般数据采用的固定的静态数据类型,而SQLite采用的是动态数据类型,会根据存入值自动判断.SQLite具有以下五种数据类型: 1.NULL:空值.2.INTEGER:带符号的整型,具体取决有存入数字 ...

  8. 第15章-输入/输出 --- 理解Java的IO流

    (一)理解Java的IO流 JAVA的IO流是实现输入/输出的基础,它可以方便地实现数据的输入/输出操作,在Java中把不同的输入/输出(键盘.文件.网络连接等)抽象表述为"流"( ...

  9. Django代码注意

    1.模板标签里面 extend和include是冲突的,有了extend,include无法生效,原因:是底层渲染独立机制设计导致. 2.#coding:utf-8 这句只有放在代码文件第一行才能生效 ...

  10. JS中$含义和用法

    原博客:https://www.cnblogs.com/jokerjason/p/7404649.html$在JS中本身只是一个符号而异,在JS里什么也不是.但在JS应用库JQUERY的作者将之做为一 ...