zoukankan      html  css  js  c++  java
  • map的使用

    本文中提到的map不是在AOT->Data Dicitionary->Maps中的Map,而是Axapta中的五个基础类Sets, maps, lists, arrays 和structs中的一个,为了保证效率这五个基础类是用C++写的,暴露出接口供X++调用.
    map是键值对,类似于C#里的HashTable.在看财务过账的代码时,发现了一段使用Map比较典型的代码,摘录在这里,免得以后找起来麻烦.
    代码路径如下:AO->Classes->SalesFormLetter->updateQueryBuild
      Map              mapSalesRecord;
      MapEnumerator    mapSalesRecordEnumerator;
      ;
       mapSalesRecord 
    = map::create(Formletter::getFormRecord(callerFormDataSource));
            mapSalesRecordEnumerator 
    = mapSalesRecord.getEnumerator();

            
    while (mapSalesRecordEnumerator.moveNext())
            
    {
                localSalesTable 
    = mapSalesRecordEnumerator.currentValue();

             }
    创建map时使用了map类的静态方法create,其入参为container.
    看一下FormLetter的静态方法getFormRecord.
    client static container getFormRecord(FormDataSource TradeRecord_ds)
    {
        common      TradeRecord;
        Map         mapTradeRecord 
    = new map(TYPES::INTEGER,TYPES::RECORD);

        
    for (TradeRecord = TradeRecord_ds.getFirst(true? TradeRecord_ds.getFirst(true) : TradeRecord_ds.cursor(); TradeRecord; TradeRecord = TradeRecord_ds.getNext())
        
    {
            mapTradeRecord.insert(TradeRecord.RecId,TradeRecord);
        }


        
    return mapTradeRecord.pack();
    }

    虽然感觉上面的代码有些过烦,不过做为map的使用示例还是比较适合的.当然也可以用MapIterator类来遍历map,在while()里的将是mapIterator.more(),取值用mapIterator.value,move到下一条用mapIterator.next(),如下所示:
    MapIterator  mapIterator;
    ;
    mapIterator 
    = new MapIterator(mapSalesRecord);
    while(mapIterator.more())
    {
         localSalesTable 
    = mapIterator.value();
         
         mapIterator.next();
    }

  • 相关阅读:
    Cards CodeForces 399C
    CodeForces 25D Roads not only in Berland
    【转】别人家的八数码 A* IDA*解法
    Maze Stretching Poj3897 二分+BFS
    Data Handler 大模拟 + 双端链表 hdu 4268
    黑马程序员---java基础语法--流程控制与函数
    黑马程序员--java基础--其他对象
    黑马程序员------java基础----集合
    黑马程序员---java基础-----多态、内部类、异常、包
    黑马程序员--java基础------继承,抽象,接口
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/508542.html
Copyright © 2011-2022 走看看