集合
Collection(元素,object)
List set
(有顺序) 无顺序
可以重复 不可重复(内容不重复)
Sortedset
Collections.sort()只能对list排序 排序规则通过实现comparable接口
import java.util.*;
public class TestSort {
public static void main(String[] args) {
List list=new ArrayList();
list.add(new Student("Liucy",30));
list.add(new Student("George",40));
list.add(new Student("Huxz",18));
list.add(new Student("Luxw",25));
Collections.sort(list);
print(list);
}
static void print(Collection con){
Iterator it=con.iterator();
while(it.hasNext()){
Object o=it.next();
System.out.println(o);
}
}
}
结果:
Student name=George age=40
Student name=Huxz age=18
Student name=Liucy age=30
Student name=Luxw age=25
Arraylist 数组
轻量级 快 线程不安全
查询 快 增删 慢
Vector 数组
重量级 慢 线程安全
Linkedlist 链表
查询 慢 增删 快
import java.util.*;
public class TestArrayList {
public static void main(String[] args) {
List list=new ArrayList();
list.add("Liucy");
list.add("Zhuzh");
list.add("Luxw");
list.add(0,"Huxz");
list.remove(2);
/*
for(int i=0;i<list.size();i++){
Object o=list.get(i);
String s=(String)o;
System.out.println(s);
}
*/
print(list);
}
static void print(Collection con){
Iterator it=con.iterator();
while(it.hasNext()){
Object o=it.next();
System.out.println(o);
}
}
}
结果:
Huxz
Liucy
Luxw
Map
(key --------------------value)
唯一的 可重复
Setmap
List
Arraylist linkedlist vector
在java怎么实现一个栈
用linkedlist实现。
Class mystack{
Private Linkedlist list=new Linkedlist();
Public void push(Object o){
List.addFirst(o);
}
Public void pop(Object o){
Return List.removeFirst();
}
}
Set类
Class Testset{
Public static void main(String args[])
{
Set s=new HashSet();
String s1=new String(“liucy”);
Sring s2=new String(“luxw”);
String s3=new String(“liucy”);
s.add(s1);
s.add(s2);
s.add(s3);
print1(s);
}
Static void print1(collection con){
Iterator it=con.iterator();
while(it.hasNext()){
Object o=it.next();
System.out.println(o);
}
}
}
结果:
Luxw
Liucy
Treeset
当有重复的对象,新的重复的对象进不出
覆盖hashCode()
保证相同对象,返回相同哈希码
覆盖equals()
保证相同对象返回true
先比较hashcode,
如果相同放在同一空间,再用Equals比较内容是否相同,相同的对象去掉
有对象的排序就得用实现comparable接口。
如果一个类中,有equals方法和compareTo方法时,两个方法必须是逻辑是一致的。
当equals返回true时,则compareTo应返回0。
当equals返回false时,则compareTo返回非0。
Map 里面是键值对
Key ―――――――――――――――――value
不重复 可重复
无顺序
一个映射不能包含重复的键;每个键最多只能映射一个值。
当在有重复的键时,新值会覆盖旧值。
遍历:有值遍历,
static void printValues(Map map){
Collection vs=map.values();
Iterator it=vs.iterator();
while(it.hasNext()){
Object o=it.next();
System.out.println(o);
}
}
键值对 遍历
static void printKeyValues(Map map){
Set ks=map.keySet();
Iterator it=ks.iterator();
while(it.hasNext()){
Object key=it.next();
Object value=map.get(key);
System.out.println(key+"-----"+value);
}
}
import java.util.*;
public class TestMap {
public static void main(String[] args){
Map map=new TreeMap();
map.put("Unix", "Luxw");
map.put("CoreJava", "Liucy");
map.put("OOAD", "Huxz");
map.put("EJB", "George");
map.put("CoreJava", "Huxz");
/*
System.out.println(map.size());
//System.out.println(map.containsKey("EJB"));
System.out.println(map.containsValue("Liucy"));
System.out.println(map.get("CoreJava"));
*/
printValues(map);
printKeyValues(map);
}
static void printValues(Map map){
Collection vs=map.values();
Iterator it=vs.iterator();
while(it.hasNext()){
Object o=it.next();
System.out.println(o);
}
}
static void printKeyValues(Map map){
Set ks=map.keySet();
Iterator it=ks.iterator();
while(it.hasNext()){
Object key=it.next();
Object value=map.get(key);
System.out.println(key+"-----"+value);
}
}
}
结果:
Huxz
George
Huxz
Luxw
CoreJava-----Huxz
EJB-----George
OOAD-----Huxz
Unix-----Luxw
Map的三个实现类
HashMap 1.2版的类 快 线程不安全 允许Null作为键或值
Hashtable 1.0版的类 慢 线程安全 不允许Null作为键或值
Treemap 有序的
集合:用来管理,容纳多个对象的对象(容器)面向对象可重用性的体现,对数组作了功能封装。
Collection:元素是Object
基本操作:add,remove,size
遍历:迭代遍历
List:元素有顺序(下标),可以重复
基本操作:add(int,Object),remove(int),get
遍历:for,迭代
分享到:
相关推荐
### CoreJava学习笔记 #### 一、JAVA特点与运行原理 **JAVA特点:** 1. **简单性**:Java的设计者们将C++语言中许多不易理解和容易混淆的部分去除,使得Java更容易理解与掌握。 2. **面向对象**:Java几乎一切都...
Java是一种广泛使用的面向对象的编程语言,其基础知识构成了"Core Java"的学习内容。在学习Java时,遵循"多花时间、多动手、多问题"的原则至关重要,因为理论理解与实践操作相结合能更好地掌握知识。 1. **Java语法...
《Core Java 学习》是一本专为Java初学者和进阶者编写的经典教材,旨在帮助读者深入理解和掌握Java编程的核心概念和技术。书中的内容覆盖了Java语言的基础语法、面向对象编程、异常处理、多线程、集合框架、输入输出...
CoreJava DAY12 集合 List 78 CoreJava DAY13 集合 Set 85 CoreJava DAY14 集合 Map 92 CoreJava DAY15 异常、断言 98 CoreJava DAY16 反射、注释 108 CoreJava DAY17 GUI 120 CoreJava DAY18 awt event 146 Core...
掌握这些基础概念和规则是学习Core Java的起点,随着深入学习,还将涉及异常处理、输入/输出、集合框架、多线程、网络编程等更多内容。对于初学者来说,理解并熟练运用这些知识是成为Java程序员的第一步。
Java是一种由Sun Microsystems在1995年推出的高级编程语言,现由Oracle公司维护。...以上就是Core Java学习笔记的主要内容概述,涵盖了从基础语法到高级特性的广泛知识,为深入理解和应用Java打下了坚实的基础。
根据提供的文件信息,我们可以推断出这是一套关于CoreJava的视频教程。下面将围绕CoreJava的核心知识点进行详细的介绍。 ### CoreJava基础知识 #### Java语言简介 Java是一种广泛使用的、面向对象的编程语言,由...
CoreJava_day11的学习笔记主要涵盖了集合框架,特别是关于List、Set和Map接口,以及ArrayList、Vector和LinkedList等具体实现类的知识点。 首先,集合框架是用来存放对象的对象,它提供了一组接口和类,使得我们...
在学习CoreJava时,我们需要掌握以下几个关键知识点: 1. **编程思想**: - 面向对象编程(Object-Oriented Programming, OOP):Java是一种纯面向对象的语言,一切皆为对象,理解类、对象、封装、继承、多态等...
"COREJAVA学习代码"这个主题旨在帮助开发者深入理解和掌握Java的基本语法、类库以及编程实践。下面将详细阐述一些核心Java的学习知识点,这些知识点通常会在课堂讲解和教师布置的作业中出现。 1. **基础语法**:...
这只是Core Java学习文档的冰山一角,后续章节还会深入到类和对象、异常处理、输入输出、集合框架、多线程、网络编程等方面。掌握Core Java是成为熟练Java程序员的必经之路,它能帮助你构建坚实的基础,为更高级的...
《Core Java 1&2》是Java编程领域中两本非常经典的教材,分别对应于卷1和卷2,英文版提供了全面且深入的Java学习资源。这两本书由Cay S. Horstmann和Gary Cornell撰写,是许多程序员入门和进阶Java技术的重要参考书...
在Java编程中,核心Java(Core Java)是学习Java语言的基础,涵盖了Java语言的主要特性和API。这篇学习笔记主要讨论了Java集合框架,包括Collection、List、Set和Map四大接口以及它们的相关方法。 首先,Collection...
通过学习《Core Java》,读者不仅可以掌握Java编程的基础,还能了解并应用许多高级特性,提升自己的编程技能。无论你是准备踏入Java开发领域的新人,还是希望提升现有技能的开发者,这本教材都将为你提供宝贵的知识...
《CoreJava12示例代码》是一份针对Java编程语言深度学习的重要资源,主要涵盖了CoreJava12版本中的核心概念和特性。这份压缩包文件包含了丰富的示例代码,旨在帮助开发者深入理解Java语言的各个方面,提升编程技能。...
《CoreJava CoreJava CoreJava 基础学习》 在Java编程领域,"CoreJava"通常指的是Java语言的核心部分,不涉及高级特性如Java EE(企业版)或Android开发。这个概念涵盖了Java语言的基础语法、类库以及面向对象编程...
"Core Java学习课件"提供了一套完整的资源,帮助初学者和有经验的开发者深入理解和掌握Java的核心概念。这个课件可能包括了详细的讲义、实例代码、练习题和解析,旨在构建一个全面的学习路径。 在Java学习的旅程中...