`
where
  • 浏览: 81854 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

JAVA基础知识之我的理解6(集合架构的一点分享,学习进行时)

阅读更多

集合框架总结

开篇废话

后补…..

提要

List        Set       Map

(What)是什么?

(How)怎么用?

一个小的应用(随便一个字符串算出字符的频度删除重复的字符).

(No Why)

详细报道

.解决WhatHow

我们都知道数组是保存一组对象的最有效方式,但在实际情况中我们往往不知道要存多少对象,抑或需要更复杂且有效的方式储存,这时数组显得如此苍白而无力,JAVA实用类提供的完整的容器类恰好能完美解决这一问题,其中的基本类型是:List,Set,Map以及Queue.( List,Set,Map就此入场)

(补充:Java的容器类位于Java.util包中)

下面我们来解决”What”,”How”这个问题

List ,Set, Map是三个常用的集合在系统中定义的接口,每种集合可以理解成为用来存放某种对象的容器.就像我们熟悉的数组.

  List ,Set, Map三者的特点:

<!--[if !supportLists]-->1)      <!--[endif]-->List

List也能像数组一样建立数字索引与对象的关联,表达数据结构中线性表的概念,List的主要特征是其元素以线性方式存储,且允许存放重复对象.List接口常用的实现类是ArrayListLinkedList.

<!--[if !supportLists]-->2)    <!--[endif]-->Set

Set 无序且不接受重复对象,(e1.equals(e2)e1e2重复)Set常被用于测试归属性.常用的实现类为HashSet,TreeSet.

<!--[if !supportLists]-->3)    <!--[endif]-->Map

Map(映射)是把键对象和值对象进行映射的集合,它的每一个元素都包含键对象和值对象.,Map容器检索元素时,只要给键对象就会返回值对象,每个键最多可以映射一个值,但每个值可以被多个键映射.这一点会在下面的具体小应用中得到体现.

当然三者还有很多方法,在这就不一一赘述,JDK写的很清楚.下面就借着一个小应用简单的看看用法.

.小程序

程序目标:1)对随便一个字符串(例如”fdsfdsfewffqfefggtrtwrtheq”)去除重复字符.

2)整理出每隔字符出现的频度

  设计思路:我们先要把字符串转型为字符型并存如一维数组中,接下来就用到今天的知识,我们现在知道Map(映射)是把键对象和值对象进行映射的集合,它的每一个元素都包含键对象和值对象.,Map容器检索元素时,只要给键对象就会返回值对象,每个键最多可以映射一个值,但每个值可以被多个键映射.那么我们可以用键对象存放数组元素,值对象用来计数这样就可以完成对频度的统计.(具体实现见代码).

  详细代码:

   //判断字符频度并打印

public class map {

    public static void main(String[] args){

       String str="fsadfdsafefefeferwfg";

       char[]c=str.toCharArray();

       int i=c.length-1;

       HashMap<Character, Integer> map = new HashMap<Character, Integer>();

       map.put(c[0], 1);

       //判断字符频度并打印

       for(int j=1;j<=i;j++){

           //如果字母存在,则加1

           if(map.containsKey(c[j])){

              Integer k =map.get(c[j]);

              map.put(c[j],++k);

           }

           else

           //如果字母不存在则加入  

           map.put(c[j], 1);

       }

       System.out.println(map);

   

    }

}       

//********************去重**********************\\

public class map2 {

    static Integer k;

    static int x;

    public static void main(String[] args){

       String str="fsadfdsafefefeferwfg";

       char[] c=str.toCharArray();

       int i=c.length-1;

       HashMap map = new HashMap();

        map.put(c[0], 1);

      

       for(int x=1;x<=i;x++){

           if(!map.containsKey(c[x])){

              map.put(c[x], 1);

           }     

       }

        System.out.println(map);

    }

}

 

0
4
分享到:
评论

相关推荐

    java知识集合

    文件中还提及了Java架构师在学习Java时应当关注的高级主题,例如机器学习和数据库设计。机器学习是计算机科学中的一个分支,它让机器能通过经验自我改进。数据库设计则涉及到数据库系统的规划、模型、模式等方面的...

    java基础知识简介

    Java基础知识是编程学习的重要起点,尤其对于初学者来说,掌握好这些内容是构建稳固的编程基础的关键。本教程主要围绕“Java基础知识简介”展开,包括Java语言概述、课程架构、Java SE结构、常用命令操作、语言特性...

    java基础知识大总结

    Java基础知识大总结涵盖了Java编程语言的核心概念和结构,为初学者提供了一个全面的参考资料。下面将详细解析这些知识点: 1. JVM、JRE和JDK的区别: - JVM(Java Virtual Machine)是Java虚拟机,它是Java程序跨...

    Java工程师修炼之道 - 梳理Java知识体系,沓实架构基础

    《Java工程师修炼之道》是一本旨在帮助Java开发者深入理解Java知识体系、巩固架构基础的书籍。通过对本书内容的梳理,我们可以发现它涵盖了多个关键的知识点,这些知识点是每一位Java工程师在提升技能、优化实践过程...

    JAVA知识点总结(XMIND格式)

    以上知识点在"JAVA知识点总结思维导图(xmind)"中可能以思维导图的形式详细展开,包括每个主题的子话题和相关实例,帮助学习者系统地理解和掌握Java编程。通过深入学习和实践这些知识点,可以成为一名熟练的Java...

    JAVA基础知识总结

    【JAVA基础知识总结】 Java是一种由Sun Microsystems公司(现已被Oracle公司收购)的James Gosling等人于1991年开发的面向对象的编程语言,最初名为Oak,后来在1994年更名为Java。Java以其“一次编写,到处运行”的...

    java 基础知识课件

    这份"java 基础知识课件"涵盖了学习Java编程所需的基础概念和技能。 1. **Java语法基础**: Java的语法与C++相似,但更简洁。它包括变量声明、数据类型(如整型、浮点型、字符型和布尔型)、常量、运算符以及流程...

    java零基础知识

    标题中的知识点为“java零基础知识”,这一部分涉及到的知识点主要包括Java语言的基本构成要素以及其开发环境的搭建。Java语言是一种面向对象的编程语言,它具有许多与初学者入门相关的基础知识点,例如:JDK和JRE的...

    Java学习、面试必备

    1. **Java基础知识** - 类与对象:Java中的所有程序都是由类构建的,对象则是类的实例。理解封装、继承和多态是Java OOP(面向对象编程)的基础。 - 异常处理:Java提供了try-catch-finally结构来处理程序运行时...

    Java架构体系学习线路图

    本文将围绕Java架构体系的学习线路图进行详细介绍,旨在帮助读者系统性地理解并掌握Java技术体系。 #### 二、常见模式与工具 **1. 设计模式** 设计模式是软件工程中的重要组成部分,能够帮助开发者高效地解决问题...

    JAVA高级工程师知识图谱_JAVA工程师知识图谱_java图谱_知识图谱_

    一、基础知识 1. **JAVA语法**:理解基础的JAVA语法规则,包括数据类型、运算符、流程控制(如if-else,switch,循环)和异常处理。 2. **面向对象编程**:掌握类、对象、继承、封装、多态等核心OOP概念。 3. **集合...

    Java基础知识总结

    Java基础知识总结 Java是一种广泛使用的编程语言,具有强大、灵活和平台独立的特点。以下是Java基础知识的总结,包括Java目录、编程习惯、基本类型、控制语句、运算符、数组等方面的知识点。 Java目录 Java是一种...

    架构师之JAVA面试攻略.zip

    1. **基础语法与编程技巧**:这是Java学习的起点,包括类、对象、封装、继承、多态等面向对象的概念,以及异常处理、IO流、线程、集合框架等基础知识。 2. **设计模式**:熟练掌握各种设计模式如单例、工厂、装饰器...

    Java知识框架

    Java知识框架是一个全面概述Java编程语言核心概念和结构的...以上知识点构成了Java知识体系的基础框架,通过深入学习和实践,你可以逐步掌握Java编程的核心技能。对于初学者来说,理解并熟练运用这些概念是至关重要的。

    JAVA相关基础知识

    JAVA相关基础知识广泛涵盖了面向对象编程的核心概念、Java语言的特有元素以及一些常用类库的使用与区别。以下是详细的解析: 面向对象编程的四大特征包括抽象、继承、封装和多态性。抽象是指通过忽略非关键细节而将...

    Java高手真经 系统架构卷 刘中兵 真实光盘

    1. **Java基础知识**:作为系统架构的基础,Java语言的语法、面向对象编程原则、异常处理、多线程、集合框架等是必不可少的知识。理解并熟练运用这些基础概念,能为构建高效稳定的系统打下坚实的基础。 2. **JVM...

    Java基础知识总结.doc

    【Java基础知识概述】 Java是一种由Sun Microsystems公司(后被甲骨文公司收购)的James Gosling等人于1991年开发的面向对象的编程语言,最初名为Oak,后于1994年更名为Java。Java的核心理念是“Write Once, Run ...

    java基础知识第2节

    Java基础知识是编程学习的核心部分,本节主要涵盖了Java的基础概念,包括J2SE体系、数据类型、变量、常量以及变量赋值规则等关键知识点。 首先,J2SE(Java Standard Edition)是Java平台的标准版,它包含了进行...

    java面试题集合java面试题集合java面试题集合

    6. **异常处理**:异常分类(检查性异常和运行时异常),如何进行try-catch-finally处理,理解throw和throws关键字的使用,掌握自定义异常。 7. **IO流**:理解字节流和字符流,掌握InputStream/OutputStream和...

    java基础知识汇总2015

    学习新技术时,应按照描述中提到的四点:了解技术的本质、关注其特点和使用注意事项、通过实例(demo)进行实践、并在适当场景(test)中应用。这四个步骤有助于系统地掌握新的Java技术和框架,从而提升编程技能和...

Global site tag (gtag.js) - Google Analytics