首先了解一下ArrayList和LinkedList的区别:
1.ArrayList是基于数组,LinkedList是基于链表实现。
2.对于随机访问get和set,ArrayList优于LinkedList,因为LinkedList要移动指针。
3.对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据
4.查找indexOf,,lastIndexOf,contains等,两者差不多。
(注:这里只是理论分析,事实上也不一定,比如ArrayList在末尾插入和删除数据就不涉及到数据移动,不过还是有个建议,随机访问比较多的话一定要用ArrayList而不是LinkedList,如果需要频繁地插入和删除,应该考虑用LinkedList来提高性能)
ArrayList<Object> alist=new ArrayList<Object>();
添加数据: alist.add();
alist.add(1,"小明");//表示在索引1处添加数据
删除数据: alist.remove(); 括号里可以是索引,也可以是具体的值
查询数据:
第一种方法:
for(Object obj : alist){
System.out.println(obj);
}
第二种方法:迭代器遍历查询
Iterator<Object> it=alist.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
LinkedList<Object> llist=new LinkedList<Object>();
添加数据: llist.add();
删除数据: llist.remove();
查询数据:
第一种方法:
for(Object obj : llist){
System.out.println(obj);
}
第二种方法:
Iterator<object> obj=llist.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
HashMap<Integerk,String> hm=new HashMap<Integer,String>();
添加键值对:hm.put(101,"小明");
hm.put(102,"小刚");
在添加某键时判断某键是否存在:
if(hm.containsKey(101){//如果存在则返回true
System.out.println("键101已存在");
}else{
hm.put(101,"小芳");
}
查询:使用迭代器遍历所有键的集合
Iterator<Integer> it=keys.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
遍历所有键值的集合
Collection<String> ct=hm.values();
Iterator<String> it2=ct.iterator();
while(it2.hasNext())
{
System.out.println(it2.next());
}
获取所有的键值对集合
Set<Map.Entry<Integer,String>> entry=hm.entrySet();
Iterator<Map.Entry<Integer,String>> it3=entry.iterator();
while(it3.hasNext()){
Map.Entry<Integer,String> me=it3.next();//获取正在遍历的一个键值对
System.out.println("键:"+me.getKey()+" 值:"+me.getValue());
}
分享到:
相关推荐
"java常用工具类整理"这个主题涵盖了Java开发中常用的工具类,这些类在日常编程中非常实用,能大大提高开发效率。这里我们将深入探讨一些常见的Java工具类,并结合`com-jarvis-base`这个文件名,推测这是一个基础...
3. **包与接口**:介绍了Java中的包机制,用于组织和管理类,以及接口的作用和实现方式,理解接口在多态性中的关键角色。 4. **异常处理**:讲解Java异常处理机制,如何使用try-catch-finally语句块捕获和处理异常...
5. **集合类ArrayList**:ArrayList是Java集合框架的一部分,它是一个动态数组,长度可以随需要改变。`ArrayList<String> list = new ArrayList();` 创建了一个存储String类型元素的ArrayList。`list.add()`, `list....
6. **字符串处理**:String类在Java中是不可变的,了解其常用方法如concat、substring、indexOf、replace等对编程很有帮助。 7. **集合框架**:Java集合框架包括List、Set和Map接口,以及ArrayList、LinkedList、...
`ArrayList`是Java中最常用的集合类之一,它实现了`List`接口,继承了`AbstractList`抽象类,并且实现了`Collection`接口。`ArrayList`是一个动态数组,可以在需要时自动增长容量,非常适合随机访问元素,但插入和...
9. String类:深入研究Java中的String类,包括字符串的不可变性,常用的方法如concat()、substring()、indexOf()等。 10. 内存管理:简述Java的垃圾回收机制,理解引用类型的区别,如强引用、软引用、弱引用和虚引用...
### Java实战经典学习笔记知识点概览 #### 一、Java概述及开发环境搭建 - **Java概述** - Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年发布。 - Java的设计目标是“一次编写,到处运行”,这...
Java学习笔记Markdown版包含了多个章节,涵盖了Java编程的多个核心概念。这些笔记是学习Java时进行知识总结的理想资源,尤其适合初学者或正在巩固基础知识的开发者。以下是对这些笔记内容的详细解读: 1. **继承** ...
对于Java集合框架,笔记会详细介绍ArrayList、LinkedList、HashSet、HashMap等常用集合类,以及它们之间的区别和选择使用场景。此外,可能还会讲解泛型、迭代器、并发容器如ConcurrentHashMap等高级话题。 在IO流...
另一方面,`String`类在Java中扮演着重要的角色,它表示不可变的Unicode字符序列。"不可变对象"意味着对象创建后,其内部的状态不能改变。在`String`类中,实际的字符序列存储在一个final类型的`char[]`数组`value`...
### CoreJava学习笔记 #### 一、JAVA特点与运行原理 **JAVA特点:** 1. **简单性**:Java的设计者们将C++语言中许多不易理解和容易混淆的部分去除,使得Java更容易理解与掌握。 2. **面向对象**:Java几乎一切都...
ArrayList、LinkedList、HashSet、HashMap等都是常用的集合类,它们提供了丰富的操作方法,方便地对数据进行增删改查。 多线程是Java的一大优势。Java内置了Thread类和Runnable接口,支持并发执行任务。通过合理...
4. **字符串处理**:Java中的String类是不可变的,笔记会讲解String、StringBuilder和StringBuffer的用法和区别,以及各种常用的字符串操作方法。 5. **集合框架**:Java集合框架包括List、Set、Queue和Map四大接口...
### Java优秀学习笔记知识点概述 #### 一、Java语言简介及特性 - **稳健性**:Java通过改进C++中的指针概念引入了引用的概念,从而增强了安全性。Java中的引用不可计算,避免了指针计算可能导致的问题。此外,Java...
- **常用集合的区别和联系**:不同集合类的特点及适用场景。 ##### 7.13 反射 反射允许在运行时获取类的信息并操纵对象。 #### 8. 异常 异常处理是Java中的一个重要特性,用于处理程序运行过程中发生的错误情况...
7.12.3. 五个最常用的集合类之间的区别和联系 7-33 7.12.4. 比较 7-35 7.13. 反射 7-37 8. 七•异常 8-37 8.1. 异常的基本概念 8-37 8.2. 捕获异常 8-38 8.3. 处理异常 8-38 8.4. 捕捉多个异常 8-38 8.5. finally ...
Java公司培训经典学习笔记是针对Java编程语言进行深入学习的一份宝贵资料,涵盖了从基础到高级的诸多知识点,旨在帮助开发者提升技能,适应企业级项目开发的需求。以下将详细阐述这些笔记中的关键点: 1. **Java...
### Java学习笔记整理 #### 1. Java简介 ##### 1.1 计算机编程和开发语言 计算机系统由硬件系统和软件系统组成。软件系统又进一步细分为系统软件和应用软件。其中,系统软件包括操作系统、编译系统、数据库系统等...
本压缩包"java学习笔记JDK6课件和课本代码.rar"中包含的资源,旨在帮助学习者深入理解Java编程,并掌握JDK 6的关键特性。以下是一些主要的知识点: 1. **基础语法**:Java的基础语法包括变量声明、数据类型、运算符...