`

corejava学习(集合)

阅读更多

集合

 

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

基本操作:addremovesize

遍历:迭代遍历

 

List:元素有顺序(下标),可以重复

基本操作:addintObject),removeint),get

遍历:for,迭代

分享到:
评论

相关推荐

    CoreJava学习笔记

    ### CoreJava学习笔记 #### 一、JAVA特点与运行原理 **JAVA特点:** 1. **简单性**:Java的设计者们将C++语言中许多不易理解和容易混淆的部分去除,使得Java更容易理解与掌握。 2. **面向对象**:Java几乎一切都...

    corejava学习笔记

    Java是一种广泛使用的面向对象的编程语言,其基础知识构成了"Core Java"的学习内容。在学习Java时,遵循"多花时间、多动手、多问题"的原则至关重要,因为理论理解与实践操作相结合能更好地掌握知识。 1. **Java语法...

    core java 学习java的书籍

    《Core Java 学习》是一本专为Java初学者和进阶者编写的经典教材,旨在帮助读者深入理解和掌握Java编程的核心概念和技术。书中的内容覆盖了Java语言的基础语法、面向对象编程、异常处理、多线程、集合框架、输入输出...

    达内 CoreJava老师笔记汇总

    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

    掌握这些基础概念和规则是学习Core Java的起点,随着深入学习,还将涉及异常处理、输入/输出、集合框架、多线程、网络编程等更多内容。对于初学者来说,理解并熟练运用这些知识是成为Java程序员的第一步。

    corejava学习笔记.doc

    Java是一种由Sun Microsystems在1995年推出的高级编程语言,现由Oracle公司维护。...以上就是Core Java学习笔记的主要内容概述,涵盖了从基础语法到高级特性的广泛知识,为深入理解和应用Java打下了坚实的基础。

    CoreJava视频课程(百度云链接)

    根据提供的文件信息,我们可以推断出这是一套关于CoreJava的视频教程。下面将围绕CoreJava的核心知识点进行详细的介绍。 ### CoreJava基础知识 #### Java语言简介 Java是一种广泛使用的、面向对象的编程语言,由...

    学习笔记 java\CoreJava笔记\CoreJava_day11

    CoreJava_day11的学习笔记主要涵盖了集合框架,特别是关于List、Set和Map接口,以及ArrayList、Vector和LinkedList等具体实现类的知识点。 首先,集合框架是用来存放对象的对象,它提供了一组接口和类,使得我们...

    java\CoreJava笔记\CoreJAVA_day01

    在学习CoreJava时,我们需要掌握以下几个关键知识点: 1. **编程思想**: - 面向对象编程(Object-Oriented Programming, OOP):Java是一种纯面向对象的语言,一切皆为对象,理解类、对象、封装、继承、多态等...

    COREJAVA学习代码

    "COREJAVA学习代码"这个主题旨在帮助开发者深入理解和掌握Java的基本语法、类库以及编程实践。下面将详细阐述一些核心Java的学习知识点,这些知识点通常会在课堂讲解和教师布置的作业中出现。 1. **基础语法**:...

    core java 学习文档

    这只是Core Java学习文档的冰山一角,后续章节还会深入到类和对象、异常处理、输入输出、集合框架、多线程、网络编程等方面。掌握Core Java是成为熟练Java程序员的必经之路,它能帮助你构建坚实的基础,为更高级的...

    core java1&2

    《Core Java 1&2》是Java编程领域中两本非常经典的教材,分别对应于卷1和卷2,英文版提供了全面且深入的Java学习资源。这两本书由Cay S. Horstmann和Gary Cornell撰写,是许多程序员入门和进阶Java技术的重要参考书...

    core java 学习笔记

    在Java编程中,核心Java(Core Java)是学习Java语言的基础,涵盖了Java语言的主要特性和API。这篇学习笔记主要讨论了Java集合框架,包括Collection、List、Set和Map四大接口以及它们的相关方法。 首先,Collection...

    Core Java( Java 核心) PDF 教材

    通过学习《Core Java》,读者不仅可以掌握Java编程的基础,还能了解并应用许多高级特性,提升自己的编程技能。无论你是准备踏入Java开发领域的新人,还是希望提升现有技能的开发者,这本教材都将为你提供宝贵的知识...

    corejava12示例代码

    《CoreJava12示例代码》是一份针对Java编程语言深度学习的重要资源,主要涵盖了CoreJava12版本中的核心概念和特性。这份压缩包文件包含了丰富的示例代码,旨在帮助开发者深入理解Java语言的各个方面,提升编程技能。...

    CoreJava CoreJava

    《CoreJava CoreJava CoreJava 基础学习》 在Java编程领域,"CoreJava"通常指的是Java语言的核心部分,不涉及高级特性如Java EE(企业版)或Android开发。这个概念涵盖了Java语言的基础语法、类库以及面向对象编程...

    core java学习课件

    "Core Java学习课件"提供了一套完整的资源,帮助初学者和有经验的开发者深入理解和掌握Java的核心概念。这个课件可能包括了详细的讲义、实例代码、练习题和解析,旨在构建一个全面的学习路径。 在Java学习的旅程中...

Global site tag (gtag.js) - Google Analytics