java----集合框架:
1,集合(容器):一个对象,用来储存其他多个对象,例如 ArrayList 类 或 数组;
2,ArrayList 类 代替 数组;
3,1)Collection :
它是一个接口,元素是Object;
方法:add(Object o):把对象o放入集合
addAll(Collection c):把c中的所有对象放入集合
clear():清空集合
contains(Object o):判断对象o在集合中是否存在
isEmpty():判断集合是否为空
remove(Object o):把对象o从集合中删去
size():返回集合中对象的个数
遍历:
实现类:无直接实现类
List :特点:元素有顺序(下标),可以重复;
方法:所有Collection的方法+自身和下标有关系的方法如下
add(int pos,Object o):把对象o插入到pos位置
get(int pos):返回pos位置的元素
indexOf(Object o):返回对象o在数组中的下标
remove(int pos):删除pos位置的元素
set(int pos,Object o):把pos位置的元素替换为o
遍历:下标遍历
利用迭代器 Iterator it=con.iterator(); ,迭代遍历
static void print(Collection con){
Iterator it=con.iterator();
while(it.hasNext()){
Object o= it.next();
system.out.println(o);
}
}
实现类:1,ArrayList:用数组实现(List) 1.2 轻量级 线程不安全 查询快 增删慢
2,Vector : 用数组实现 1.0 重量级 线程安全
3,LinkedList:用链表实现 查询慢 增删快(应用于"栈")
4,由于java.util.Stack 是java专用栈实现类,但是由于设计错误它不应该继承
vector父类,因为vector是数组实现,其中有add方法等,而对于栈操作而言
它最应该是链表实现,要有pop和push 方法,在实际中 Stack 继承了太多
无用的vector的方法
导致现在我们最好要自己写一个 Stack 类来自己用,代码如下:
class Stack{
private LinkedList list=new LinkedList();
public void push(Object o){
list.addFirst(o);
}
public Object pop(){
Object o=list.removeFirst();
return o;
}
}
Set :元素无顺序,内容不可重复:
实现类:1. HashSet :把自定义对象放入HashSet,为保证元素不重复,必须:
1) 覆盖hashCode() 保证相同对象返回相同的int,
提高效率考虑,尽量保证不同对象返回不同的int;
public int hashCode(){
return age+name.hasCode();
}
2) 覆盖equals() 保证相同对象返回 true;
(中有hashcode 用code来判断插到数组哪里,
当code值%数组长度 的值和之前的相同,调用equals,
判断内容是否相同,相同不加,不同放在数组下一个位置)
public int hashCode(){
return age; // 或是 return age+name.hasCode();
}
2. TreeSet 实现了 SortedSet (Set的子接口)
TreeSet 对元素自动排序,要求元素对象必须实现Comparable 接口;
遍历:利用迭代器 Iterator it=con.iterator(); ,迭代遍历
static void print(Collection con){
Iterator it=set.iterator();
while(it.hasNext()){
Object o= it.next();
system.out.println(o);
}
}
Collection<E>中的E是泛型
相关推荐
在Java集合框架中,主要分为两大类:List(列表)、Set(集合)和Map(映射)。 1. List接口:List是一种有序的集合,允许包含重复元素。它定义了元素的插入、删除和访问方法,如add()、remove()和get()。ArrayList...
本文将深入探讨Java集合框架的核心概念,包括`List`、`Set`、`Map`以及它们之间的区别和联系。 #### Java集合框架简介 Java集合框架是Java平台的一部分,它由一系列接口组成,这些接口描述了不同类型的容器,比如...
Java集合框架主要分为两大类:**Collection** 和 **Map**。Collection接口下有List和Set两个子接口,而Map接口则用于存储键值对。 ### Collection 1.2.1 常用方法 Collection接口定义了许多通用方法,如`add()`, `...
在Java编程语言中,集合框架是处理对象组的重要工具,主要包括List、Set和Map三大接口。这些接口由Java Collection Framework提供,它是一个统一的架构,用于存储和操作各种类型的对象。接下来,我们将深入探讨这三...
### Java集合框架Collection接口详解 #### 一、Java集合框架简介 Java集合框架(Java Collection Framework)是Java标准库中的一个重要组成部分,它提供了一系列用于存储和操作数据集合的接口和实现类。这些接口和...
本文将深入解析Java集合框架的各个方面,包括Collection、List、Set和Map,以及它们的相关实现和使用原理。 **1. 集合框架概述** 集合框架是一个统一的数据结构和算法的集合,它提供了对数据进行高效处理的工具。...
2. **集合框架** - **List**:ArrayList、LinkedList的实现原理和应用场景,以及它们在性能上的差异。 - **Set**:HashSet、TreeSet的特性,以及它们对元素的唯一性保证。 - **Map**:HashMap、TreeMap、...
Java集合框架是Java编程语言中一个非常重要的组成部分,它为数据存储和操作提供了丰富的接口和类。本篇文章将深入解析`Collection`接口及其主要实现类`List`和`Set`,帮助你理解并熟练运用这些核心概念。 首先,`...
Java集合List集合Set集合Map集合Collection和collections工具类的框架图
在Java集合框架中,主要有六种核心接口:`Collection`, `Set`, `List`, `Queue`, `Deque`, 和 `Map`。此外,还有五个抽象类以及多个实现类,它们共同构成了Java集合框架的基础。 #### 二、核心接口介绍 1. **`...
总结来说,Java集合框架为开发者提供了丰富的数据结构以应对不同场景的需要,从简单的List和Set到复杂的Map结构,再到线程安全的集合实现,每个组件都有其特定的用途和优势。在面试中,理解并能够熟练运用这些集合类...
Java集合Collection、List、Set、Map使用详解
Collection接口是Java集合框架的根接口,定义了基本的集合操作,而List接口和Set接口继承自Collection接口,提供了有序和无序的集合操作。Map接口提供了键值对的存储和操作。 Java集合框架是Java语言中最基本也是最...
本文将深入探讨Java集合框架中的四个主要接口:Collection、List、Set和Map,以及它们的实现原理。 ### 集合框架概述 集合框架是Java API中用于存储和管理对象的统一框架。它为数据结构提供了抽象接口,使得程序员...
Java集合框架是Java编程语言中的一个核心组件,它为数据存储和管理提供了强大的支持。这个框架包括了多种接口和类,使得程序员可以高效地处理对象集合。在"Java--collection.rar"这个压缩包中,我们可以找到名为...
Java集合框架是Java标准库的一部分,它提供了一系列的接口和类来存储和操作各种类型的对象集合。这些接口和类遵循一致的设计模式,使得开发人员可以方便地管理和操作数据。本文档将深入探讨Java集合框架的关键组成...
Java集合框架是一个包含多种数据结构(如列表、集、队列等)的API,这些数据结构由接口(如`Collection`、`List`、`Set`和`Queue`)和实现这些接口的类(如`ArrayList`、`HashSet`和`LinkedList`)组成。`Collection...