2015-06-09 5 views
-1

Я хочу использовать карту/набор в Swift.Что такое Swift-эквивалент std :: map C++?

В C++, я хотел бы написать код следующим образом:

#include <set> 
#include <map> 
#include <cstdio> 

int main() 
{ 
    std::map<long long, int> f; // declare 

    // insert some elements 
    f[100000000000000LL] = 1; 

    printf("%d\n", f[100000000000000LL]); 

    return 0; 
} 

Как бы это реализовать в Swift?

+1

Swift не имеет встроенного эквивалента 'std :: map'. Он имеет эквивалент 'std :: unordered_map', который является словарем. – dasblinkenlight

+2

Не знаете, почему есть такой нисходящий (-7). Совершенно разумно задаться вопросом о сортированных контейнерах. Теперь, если бы Свифт предоставил их прямо из коробки, этот вопрос заслуживал бы понижения, но словаря Swift были несортированы. – MSalters

+0

@dasblinkenlight, неупорядоченный не нужен. –

ответ

1

В Swift карта называется «Словарь».

Вам нужен словарь CLong так:

var f = [CLong: CLong]() 
f[100000000000000] = 1 

то вам нужно только Println содержание словаря.

+1

'Словарь' в Swift похож на' std :: unordered_map 'в C++ (на основе хэш-таблицы). Хотя 'std :: map' в C++ является сбалансированным BST. Я не понимаю, почему этот ответ отмечен как правильный. – denys

Смежные вопросы