Java数据结构类如何使用_Matlab如何使用Java的数据结构类型
Matlab 2008b才开始引入containers.Map,这是Matlab唯一的数据结构(这里的数据结构是指自带一定逻辑性的数据结构,不包括普通数据类型)。如果要有其它,比如Queue、Set等数据结构,只能自己编写一个。File Exchange上有不少人做过这个工作,我也写过Queue、List、Vector的Matlab对象。不过Matlad的面向对象编程效率极低,这种方法只能用于不太注重效率的场合。解决这个问题的另外一个方法是使用Java对象。
Matlab 6.0开始集成Java,自此可以很方便地使用Java的数据结构类型。跟数据结构相关的是java.util,里面有超过20个数据结构类型,这里有详细的类型的介绍。而这其中常用的有下面几个:
•Set类:指一个集合,其中不允许有重复元素。根据具体的实现方法,Matlab可以使用以下类型: ◦EnumSet:集合元素类型需要一致;速度最快
◦HashSet:hash表;速度也比较快
◦LinkedHashSet:hash表,但元素之间根据插入顺序链接;比Hash表慢
◦TreeSet:红黑树实现的Set类,速度相对较慢;
•List类:指一个顺序列表 ◦Vector:一个容量可变的数组向量
◦Stack:后进先出,栈
◦LinkedList:链表
◦ArrayQueue
◦PriorityQueue:优先树
•Map类:指一个从keys到values的映射关系 ◦EnumMap:keys的类型一样,和EnumSet类似
◦HashMap:利用hash表保存
◦HashTable:线程安全的HashMap
◦TreeMap:利用红黑树实现的Map
◦LinkedHashMap:一个HashMap,但元素之间根据插入顺序互相链接。
使用方法很简单。不需要对Matlab做任何配置。比如下面定义一个HashMap:
map = java.util.HashMap;
然后对map的操作可参考Java文档对HashMap对象的描述,或者可通过methodsview(map)查看map可用的函数。
最后还是需要说下效率。唯一可以用来对比的只有Matlab内置的containers.Map和与Java对象HashMap。测试发现,containers.Map的效率优于HashMap,但只快约10%。
Java数据结构类如何使用_Matlab如何使用Java的数据结构类型相关推荐
- java工具类怎么写_常用的Java工具类——十六种
常用的Java工具类--十六种 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选 ...
- java 匿名类 实现接口_细谈 Java 匿名内部类 【分别 使用 接口 和 抽象类实现】...
1.前言 匿名内部类是什么东西? 没有名字的内部类就是匿名内部类. 什么场景使用? 匿名内部类适合创建那种只需要一次使用的类. 这是个很有用的东西,可想而知,如果不使用匿名内部类,哪些只需要使用一次的 ...
- java 比较器类_高级编程之(Java常用类(Java比较器))
1.使用背景: 说明:Java中的对象,正常情况下,只能进行比较 == 或 !=.不能使用 > 或 < 但是在开发场景中,我们需要对多个对象进行排序,言外之意,就需要比较对象的大小. 如何 ...
- Java Scaner类详解_动力节点Java学院整理
Java.util.Scanner是Java5.0的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java API文档中列举了大量的API方法,但是都 ...
- java 枚举类 int_【转】掌握java枚举类型(enum type)
原文网址:http://iaiai.iteye.com/blog/1843553 1 背景 在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用 ...
- java image类的值_关于在java中保存image类型的字段的问题
有一个表test,其字段image是image类型的.在java中可以用如下的方法保存:Filefile=newFile("src/down.gif");InputStreamin ...
- java枚举类循环_(转载)java 枚举 循环遍历以及一些简单常见的使用
本文转载自:http://blog.csdn.net/qq_27093465/article/details/51706076 作者:李学凯 什么时候想用枚举类型: 有时候,在设计一个java mod ...
- java在一个类里实现存款_用Java编写一个简单的存款
package desposit.money; public class DespositMoney { public static void main(String[] args) { Custom ...
- java一个类可以同时被访问吗,Java中两个线程是否可以同时访问同一个对象的两个不同的synchronized方法?...
public classSyncMethod {public synchronized voidsyncMethod2() {try{ System.out.println("@@@@@@@ ...
最新文章
- 怎样设置rotacast插件_百度克星、16倍速看视频,这5个谷歌插件简直太会玩了!...
- mui 使用LocalStore记住用户密码方法
- 第13章:项目合同管理--章节真题
- CodeForces - 1362E Johnny and Grandmaster(贪心+模拟)
- mysql 5.7.21 主从_Mysql 5.7.21 设置主从库同步
- Java面试你必须要知道的那些知识,面试建议
- 一文读懂Git工作流
- centos 字体的修改
- 高并发架构解决方案总结
- 计算机关键性检测的部件是,试论计算机硬件关键技术的若干问题分析
- 3998. 变成1-AcWing题库
- 面向对象语言-反射机制
- uni-app完整实现小程序获取用户信息
- nekohtml的简单使用
- ENVI裁剪遥感图像
- Microsoft Visual Studio 2003 2005 2008 2010 2012 下载
- 怎样来实现流量削峰方案
- Linux线程同步机制四--信号量sem
- android学习笔记----ListView和各种适配器简介
- 数学建模美赛O奖论文研读启示录——从模仿开始