java集合类:collection接口,List集合


在java.util包中提供了一些集合类,集合类又被称为容器,常用的有List集合,Set集合,Map集合。下面将介绍collection接口和List集合。

1.collection接口

实例化对象方法:

Collection<E> list = new ArrayList<>();

collection接口提供了以下常用方法:

方法 功能
add(E e) 将指定对象添加到集合中
remove(Object o) 将指定对象移除到该集合
isEmpty() 判断当前集合是否为空,返回boolean值
iterator() 返回此collection的元素上进行的迭代器,用于遍历集合对象
size() 获取集合中元素的个数

例:

import java.util.*;
public class colle{
public static void main(String[] args) {
Collection<String>list = new ArrayList<>(); //实例化集合对象
list.add("一");
list.add("二");
list.add("三");
Iterator<String>ite = list.iterator();
while(ite.hasNext()) {
String num = (String)ite.next();
System.out.println(num);
}
}
}

运行结果如下




2.List集合

List集合包括List接口及List接口的所有实现类。用户可以通过索引来访问元素。

·List接口

List接口继承了collection接口,包含collection接口的所有方法。此外还提供了两个重要方法:

1.get(int index)  //获取指定索引位置的元素
2.set((int index,Object obj) //将指定索引位置的元素修改为指定对象
·List接口的实现类
  1. ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口。
  2. LinkedList 链表是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。
以下情况使用 ArrayList :

·频繁访问列表中的某一个元素。

·只需要在列表末尾进行添加和删除元素操作。

以下情况使用 LinkedList :

·你需要通过循环迭代来访问列表中的某些元素。

·需要频繁的在列表开头、中间、末尾等位置进行添加和删除元素操作。

实例化代码如下:

List<E>list = new ArrayList<>();
List<E>list = new LinkedList<>();

例:

import java.util.ArrayList;
import java.util.List;
public class Listt{
public static void main(String[] args) {
List<String>list = new ArrayList<>();
list.add("一");
list.add("二");
list.add("三");
int i =2;
System.out.println("获取元素:"+list.get(i));
list.remove(i);
System.out.println("移除元素后元素:");
for(int k = 0;k<list.size();k++) {
System.out.println("元素"+k+": "+list.get(k));
}
}
}

运行结果如下:

获取元素:三
移除元素后元素:
元素0: 一
元素1: 二

希望对你有帮助

最新文章

  1. Codeforces Round #313 (Div. 1) B. Equivalent Strings
  2. JavaWEB入门
  3. hdu1874 最短路模板题
  4. JAVA线程池ThreadPoolExecutor-转
  5. HDU 1950 Bridging signals
  6. java程序员修炼之道
  7. SqlServer中截取字符串
  8. Java循环语句 for
  9. 发布GeoServer后预览提示下载wms文件
  10. [转帖]音响及DarBee
  11. Web API-路由(二)
  12. Chapter 2 Open Book——28
  13. FileMode文件模式(转载)
  14. TIMESTAMP类型字段在SQL Server和MySQL中的含义和使用
  15. JavaSE: Java 5 新特性
  16. [Java并发编程(五)] Java volatile 的实现原理
  17. [20171130]关于rman备份疑问.txt
  18. Spark集群之yarn提交作业优化案例
  19. 为什么List.add()所增加的数据都是一样的
  20. Standalone的更改方式

热门文章

  1. 通过IIS部署Flask项目
  2. 部署Zabbix4.0和Grafana
  3. Java中的SPI原理浅谈
  4. Elasticsearch 主从同步之跨集群复制
  5. Elasticsearch删除操作详解
  6. Jenkins配置项目构建的钉钉通知
  7. mongodb停止关闭服务
  8. Springboot之 Mybatis 多数据源实现
  9. 详解JS中 call 方法的实现
  10. linux搭建内网邮件服务器