java基础笔记(9)----集合之list集合
- 集合
- 对于集合的理解,集合是一个容器,用于存储和管理其它对象的对象
- 集合,首先了解所有集合的父接口----collection
- 特点:存储任意object元素
- 方法
- boolean add(Object o) // 把元素o添加到集合中,成功true,否则false
- boolean addAll(Collection c) //把集合c中的所有元素 添加到当前集合中
- void clear() // 清空当前集合中的所有元素
- boolean contains(Object o) //判断对象o 在当前集合中是否存在
- boolean containsAll(Collection c) //判断集合c中的元素 在当前集合中是否都存在
- boolean isEmpty() // 判断当前集合中的元素个数是否为0
- boolean remove(Object o) // 把对象o 从当前集合中删除,返回是否成功
- int size() // 获取集合元素的实际个数
- Object[] toArray() // 把集合转成对应的数组
- list接口
- 特点:存储任意object元素,有序,有下标元素内容可以重
- 方法:
- 继承父接口Collection中的所有方法
- void add(int idx, Object obj) //在指定下标idx位置 插入元素obj
- Object get(int idx) // 获取指定下标idx位置上的元素
- int indexOf(Object o) // 返回o在当前集合中下标,如果不存在 返回-1
- Object remove(int idx) //删除指定下标idx位置的元素,并且返回该元素
- Object set(int idx,Object o) //修改idx位置的元素为o,并且返回修改前的元素
- List subList(int beginIdx, int toIdx)//截取子集合,从下标beginIdx(含)到toIdx(不含)
- 遍历:下标遍历,forEach遍历,迭代遍历
- 如下:
package com.lvsling.test; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class TestArrayList { public static void main(String[] args) { //student--有三个属性,name,age,clazz List<Student> list = new ArrayList<Student>(); Student s1 = new Student("jerry",20,"1"); list.add(s1); list.add(new Student("tom",18,"2")); list.add(new Student("mike",15,"1")); // 下标遍历 for(int i=0; i<list.size(); i++){ System.out.println(list.get(i)); } System.out.println("-------------------------"); // forEach遍历 for(Object obj : list){ Student s = (Student)obj; System.out.println(s.getName()); } System.out.println("-------------------------"); // 迭代遍历 Iterator it = list.iterator(); // 获取集合对象的迭代器 while(it.hasNext()){ // 判断是否有下一元素 Object obj = it.next(); // 获取下一元素 System.out.println(obj); } } } |
- list实现类
- ArrayList
- 数组实现,可变长数组
- 线程不安全,效率高
- 查询快,增删慢
- Vector
- 数组实现,可变长数组
- 线程安全,效率高
- LinkedList
- 链表实现
- 查询慢,增删快
- 泛型集合
- 类型安全的集合,限制集合元素的类型,必须是相同的。
- 泛型类型,前后一致
- 泛型类型必须是引用类型(基本类型使用包装类)
- 拓展与提升
- 工具类
- Collections类,是工具类,提供了一组static方法,用于 对集合进行操作。
- 如:
- Collections.sort(list) // 按升序排----注意:集合元素类型 必须实现java.lang.Comaparable接口。
- Collections.reverse(list); // 集合元素反转
- Collections.shuffle(list); // 随机显示集合元素
java基础笔记(9)----集合之list集合的更多相关文章
- java基础-IO流对象之Properties集合
java基础-IO流对象之Properties集合 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Properties集合的特点 Properties类表示了一个持久的属性集. ...
- 【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错
原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-impor ...
- Java基础笔记 – Annotation注解的介绍和使用 自定义注解
Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 | 被围观 25,969 views+ 1.Anno ...
- java基础第十二篇之集合、增强for循环、迭代器和泛型
Collection接口中的常用方法: * 所有的子类子接口都是具有的 * 集合的方法:增删改查 * * public boolean add(E e);//添加元素 返回值表示是否添加成功 * pu ...
- java基础(7):自定义类、ArrayList集合
1. 引用数据类型(类) 1.1 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类.Random类. 我们可以把类的类型为两种: 第一种,Java为我们提供好 ...
- 黑马程序员----java基础笔记中(毕向东)
<p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...
- 黑马程序员----java基础笔记上(毕向东)
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 笔记一共记录了毕向东的java基础的25天课程,分上.中.下 本片为上篇,涵盖前10天课程 1. ...
- Java基础笔记(一)
本文主要是我在看<疯狂Java讲义>时的读书笔记,阅读的比较仓促,就用 markdown 写了个概要. 第一章 Java概述 Java SE:(Java Platform, Standar ...
- Java基础笔记05-06-07-08
五.今日内容介绍 1.方法基础知识 2.方法高级内容 3.方法案例 01方法的概述 * A: 为什么要有方法 * 提高代码的复用性 * B: 什么是方法 * 完成特定功能的代码块. 02方法的定义格式 ...
随机推荐
- SQL语句异常导致项目报错
1.错误描述 严重:Exception occurred during processing request:Statement Callback;SQL[ ];OALL8处于不一致状态; nes ...
- Caused by:java.sql.SQLException:ORA-01008:并非所有变量都已绑定
1.错误描述 Caused by:java.sql.SQLException:ORA-01008:并非所有变量都已绑定 2.错误原因 3.解决办法
- SCRIPT5007:无法获取属性“show”的值,对象为null或未定义
1.错误描述 SCRIPT5007:无法获取属性"show"的值,对象为null或未定义 dojo.js,行15.字符11808 2.错误原因 requ ...
- C#利用 string.Join 泛型集合快速转换拼接字符串
C#利用 string.Join 泛型集合快速转换拼接字符串 List<int> superior_list = new List<int>(); superior_list. ...
- windows共享虚拟机ubuntu目录
1)安装 sudo apt-get install samba 2)配置文件vi /etc/samba/smb.conf 添加如下 3)启动服务 sudo service smbd start 4)w ...
- iOS - CALayer 绘图层
1.CALayer 绘图层 在 iOS 系统中,你能看得见摸得着的东西基本上都是 UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是 UIView.其实 UIView 之 ...
- VirtualBox 创建com对象失败 应用程序被中断
安装VirtualBox后,打开,报错: 解决方法: 1,注册VBoxC.dll 控制台切换到VirtualBox目录 E:\VirtualBox>VBoxSVC /ReRegServer E: ...
- Asp.net mvc 5 razor
一开始学习dotnet的web项目是Asp.net webform,完全不理解项目为什么要这样设计,就简单的使用ajax调用后台的代码不好吗?为什么还要搞一些什么代码后置的东东. 还有就是有各种加载问 ...
- 在C#的控制台应用中使用Dapper链接MySQL并执行一些增删改查
一.首先先创建一个C#的控制台应用 二.然后添加上必要的命名空间 using System;using System.Collections.Generic;using MySql.Data.MySq ...
- Delphi关于ADO控件的简单使用
控件:TAdoQuery.ADOConnection.TDataSource.TRzDBGrid 1.新建Vcl Form Application 2.在窗体上添加TADOConnection,设置连 ...