容器(list集合)
--为什么使用集合而不使用数组?why
·集合和数组相似点:都可以存储多个对象,对外作为一个整体存在;
··数组的缺点:1.长度必须在初始化时指定,且固定不变;
2.数组采用连续存储空间,删除和添加元素效率低下;
3.数组无法直接保存映射关系;
Connection 接口存储一组不唯一,无序的对象;
List 接口存储一组不唯一,有序(索引顺序)的对象;
Set接口存储一组唯一,无序的对象;
Map接口存储一组键值对象,提供key到value的映射;
----- Key 唯一,无序; value不唯一,无序;
<List集合>---------------------------------是collection集合的子接口;
特点:有序,不唯一(可重复);
ArrayList:--在内存中分配连续的空间,实现了长度可变的数组;
--优点:遍历元素和随机访问元素的效率表较高;
--缺点:添加和删除需大量移动元素效率低,按照内容查询效率
LinkedList:--采用链表存储方式。
--缺点:遍历和随机访问元素低下。
-- 优点:插入、删除元素效率比较高(但是前提也是必须低效率查询)
集合当中常用到的方法:------增----删----改-----查------
1.添加的方法:add(int index,E e); ---->在制定位置进行添加元素。
addAll(Collection c);---->添加全部。
2.删除的方法:remove(int index);---->根据角标位置删除元素
remove(Object obj);---->根据内容进行删除元素
removeAll(Collection c);---->删除集合
3.修改的方法:set(int index,E element);
4.查询的方法:get(int index);根据角标进行查询元素
------------------------------------
5.获取集合大小的方法---->size();
6.判断集合是否为空的方法---->isEmpty();
7.清除集合当中所有的元素的方法---->clear();
8.集合和数组之间能否转换
集合---------->数组转换 toArray() <T> T[] toArray(T[] a)
迭代器输出的原理:先判断集合当中是否有元素,如果有则进行获取,反之,循环结束。
public class ArrayListTest {
public static void main(String[] args) {
//1.实例化List接口对象
List<String> list = new ArrayList<String>();
//2.添加的方法
list.add("javaSE");
list.add("javaEE");
list.add("HTML5");
list.add("CSS3");
list.add("JavaScript");
//遍历集合元素
System.out.println("---------------标准for循环---------------");
for(int i=0;i<list.size();i++) {
//i变量相当于角标 最大角标:list.size()-1;
//list集合当中存在一个get(int index)
System.out.println(list.get(i)+"\t");
}
System.out.println();
System.out.println("--------------增强for循环---------------");
for (String str : list) {
System.out.println(str+"\t");
}
System.out.println();
System.out.println("--------------迭代输出Iterator---------------");
Iterator<String> iter = list.iterator();
while(iter.hasNext()) {
System.out.println(iter.next()+"\t");
}
}
}
容器(list集合)的更多相关文章
- STL中的set集合容器进行集合运算:并、交、差实例
集合容器的集合运算:并.交.差: #include "stdafx.h" #include <iostream> #include <set> #inclu ...
- multiset集合容器的集合运算:并、交、差
set和multiset的内部通常是采用平衡二叉树来实现.当放入元素时,会按照一定的排序方法自动排序,默认是按照less<>排序规则来排序.这种自动排序的特性加速了元素查找的过程,但问题是 ...
- java基础之容器、集合、集合常用方法
一.容器(Collection):数组是一种容器,集合也是一种容器 java编程中,装其他各种各样的对象(引用类型)的一种东西,叫容器 注意: 1.数组的长度是固定的 2.集合:长度不固定, 可以随时 ...
- Java中的容器(集合)之ArrayList源码解析
1.ArrayList源码解析 源码解析: 如下源码来自JDK8(如需查看ArrayList扩容源码解析请跳转至<Java中的容器(集合)>第十条):. package java.util ...
- Java中的容器(集合)之HashMap源码解析
1.HashMap源码解析(JDK8) 基础原理: 对比上一篇<Java中的容器(集合)之ArrayList源码解析>而言,本篇只解析HashMap常用的核心方法的源码. HashMap是 ...
- Java 容器(集合)
import java.util.*; 一.基础概念 1.什么是容器? 2.为什么需要容器? 3.容器的分类? 二.重点知识 List接口 Collections类 (1)为什么需要? Collect ...
- Java中的容器(集合)
1.Java常用容器:List,Set,Map List: 继承了Collection接口(public interface List<E> extends Collection<E ...
- Set容器--HashSet集合
Set容器特点: ① Set容器是一个不包含重复元素的Collection,并且最多包含一个null元素,它和List容器相反,Set容器不能保证其元素的顺序; ② 最常用的两个Set接口的实 ...
- Python创建容器和集合之源码分析
_collections_abc.py文件中提供了许多抽象基类,这些类将集合分解成许多互相独立的属性集 __all__ = ["Awaitable", "Coroutin ...
- 练习:自己写一个容器ArrayList集合 一一数组综合练习
package cn.bjsxt.myCollection; import java.util.Arrays; /** * 天下文章一大抄,看你会抄不会抄. * 模拟Stringbuilder 写一个 ...
随机推荐
- lager_transform未定义错误
lager_transform未定义错误rebar编译时报错:D:\server\six>d:/tools/rebar/rebar.cmd compile==> mysql (compil ...
- iOS的settings bundle中开关按钮(Toggle Switch)取不到值的问题
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 在Xcode7.2中设置App的settings bundle ...
- 剑指Offer——二分查找算法
剑指Offer--二分查找算法 前言 本片博文主要讲解查找算法的相关知识.重点介绍二分查找. 二分查找算法是在有序数组中用到的较为频繁的一种查找算法,在未接触二分查找算法时,最通用的一种做法是,对数组 ...
- android之View绘制
Android系统的视图结构的设计也采用了组合模式,即View作为所有图形的基类,Viewgroup对View继承扩展为视图容器类,由此就得到了视图部分的基本结构--树形结构 View定义了绘图的基本 ...
- iOS中 自定义cell分割线/分割线偏移 韩俊强的博客
在项目开发中我们会常常遇到tableView 的cell分割线显示不全,左边会空出一截像素,更有甚者想改变系统的分割线,并且只要上下分割线的一个等等需求,今天重点解决以上需求,仅供参考: 每日更新关注 ...
- Android:Field can be converted to a local varible.
背景 使用 Android Studio 开发 Android 有一段时间了,偶尔会碰到 AS 在一些私有变量上有黄色高亮提示Field can be converted to a local var ...
- [mysql]一次主从数据不一致的问题解决过程
之前一篇: 主从更换ip之后重新建立同步 情况时这样的 昨天晚上主动2个机器都迁移了,然后今天才把主动重新连接上,但是从库的偏移量是从今天当前时刻开始的,也就是说虽然现在主动看似正常,其实是少了昨天的 ...
- hive的数据导入与数据导出:(本地,云hdfs,hbase),列分隔符的设置,以及hdfs上传给pig如何处理
hive表的数据源有四种: hbase hdfs 本地 其他hive表 而hive表本身有两种: 内部表和外部表. 而hbase的数据在hive中,可以建立对应的外部表(参看hive和hbase整合) ...
- EBS DBA指南笔记(一)
第一章 ORACLE APPLICATIONS 的组件与架构 1.ebs组件的几大构成:客户端,form server,web server,concurrent processor,数据库.每个组 ...
- Chapter 2 User Authentication, Authorization, and Security(11):在已还原的数据库中修正登录映射错误
原文出处:http://blog.csdn.net/dba_huangzj/article/details/39496517,专题目录:http://blog.csdn.net/dba_huangzj ...