javascript 实现 Hashtable ArrayList StringBuffer

本文介绍了一种在JavaScript中模拟Java的Hashtable和ArrayList的方法。通过自定义构造函数和原型方法,实现了基本的数据增删查改功能,如put、get、add、remove等,并附带了完整的源代码。
Hashtable ArrayList 并不是javascript 固有的类,但是我们可以模拟一个
下面的code用起来会是这样 :

var table = new HashTable();
table.put(jsObjKey,jsObjValue);

var arrayList = new ArrayList();
arrayList.add(jsObj);

...
arrayList.size();



等等,相信看一下都能知道,这个模拟出来的Hashtable 和ArrayList 和java的十分相似,基本上在java里面怎么用的,在js里面我们就可以怎么用。


源代码:

// StringBuffer.
function StringBuffer(){
this.array = new Array();
}

StringBuffer.prototype.append = function (content){
this.array[eval(this.array.length)] = content;
}

StringBuffer.prototype.toString = function (){
return this.array.join("");
}


// ArrayList.

function ArrayList(){
this.index = -1;
this.array = new Array();
}
ArrayList.prototype.add = function (obj){
this.index = this.index + 1;
this.array[eval(this.index)] = obj;
}
ArrayList.prototype.get = function (index){return this.array[eval(index)];}
ArrayList.prototype.size = function (){return this.index+1;}
ArrayList.prototype.remove = function (index){
var j = 0;
var arrThis = this.array;
var arrTemp = new Array();
for(w=0;w<arrThis.length;w++){
if (eval(index)!=eval(w)) {
arrTemp[j] = arrThis[w];
j++;
}
}
this.array = arrTemp;
this.index = eval(j-1);
}


// HashTable Object 注意哦,T 可是大些的

function HashTable(){
this.arrValues = new ArrayList();
}

function HashTable_Map(){
var key = null;
var value = null;
}

HashTable.prototype.put = function (objKey,objValue){
var isAdd = true;
var arrThis = this.arrValues;
for(i=0;i<arrThis.size();i++){
var map = arrThis.get(i);
if (map.key==objKey){
map.value = objValue;
isAdd = false;
}
}
if (isAdd){
var Map = new HashTable_Map();
Map.key = objKey;
Map.value = objValue;
this.arrKeys = objKey;
this.arrValues.add(Map);
}
}

HashTable.prototype.get = function (objKey){
var arrThis = this.arrValues;
for(i=0;i<arrThis.size();i++){
var map = arrThis.get(i);
if (map.key==objKey) return map.value;
}
return null;
}

HashTable.prototype.keys = function (){
var arrKeys = new Array();
var arrThis = this.arrValues;
for(i=0;i<arrThis.size();i++){
var map = arrThis.get(i);
arrKeys[i] = map.key;
}
return arrKeys;
}

HashTable.prototype.remove = function (objKey){
for(i=0;i<this.arrValues.size();i++){
var map = this.arrValues.get(i);
if (objKey == map.key){
this.arrValues.remove(i);
}
}
}
内容概要:本文系统研究了在有限控制集约束下,三相并网逆变器中电流与功率双模态模型预测控制(MPC)的等效机理及其性能边界。通过构建精确的预测模型,设计合理的代价函数,并结合Simulink仿真与Matlab代码实现,深入分析了电流预测控制与功率预测控制两种策略在动态响应速度、稳态精度、谐波抑制能力和抗扰性等方面的差异与内在联系。研究揭示了在特定系统参数和运行条件下,两种控制模式之间的等效转化机制,并界定了各自的适用范围与性能极限。同时,探讨了多模态控制的切换逻辑、实时性优化及预测模型不确定性对控制性能的影响,旨在提升逆变器在复杂电网环境下的综合控制品质与鲁棒性。; 适合人群:具备电力电子、自动控制或新能源并网等相关专业背景,熟悉Matlab/Simulink仿真环境,从事研究生及以上层次科研或从事高端电力电子装备研发的工程技术人员。; 使用场景及目标:①深入理解模型预测控制在并网逆变器中的具体实现方法与理论基础;②掌握电流与功率双模态MPC控制器的设计、仿真建模与性能对比评估流程;③为高动态、高精度并网控制系统的方案选型、参数优化与工程化应用提供坚实的理论依据和技术参考。; 阅读建议:建议结合所提供的Simulink仿真模型与Matlab源代码进行同步实验验证,重点关注预测模型的建立过程、控制律的数学推导以及不同工况下的仿真结果对比分析,宜配合现代控制理论、电力电子变换技术及并网标准等相关资料进行系统性学习。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值