プログラミング、フリーダイビング、ブロックチェーンのブログ

プログラミング道場

自分の市場価値を知りたい人にオススメの記事です

【すぐできる】エンジニアとしての市場価値を診断してみよう!

エンジニアが市場価値を把握しておくべき理由 エンジニアは、なぜ市場価値を把握しておいた方がいいのか、まずはその理由について説明します。 エンジニアの市場価値を決める要素 エンジニアの市場価値を決める要素について説明します。 経験業務と年数 ...

続きを見る

私がオススメするプログラミング教材です

私がおすすめするプログラミング教材のまとめ【書籍と動画】

これからエンジニアになりたい人へ向けた本 私が書いた、「これからエンジニアになりたい人」に向けた本です。 最近、世間ではプログラミングの必要性が声高く叫ばれるようになりました。 子供向けには2021年からプログラミング教育が義務教育で実施さ ...

続きを見る

【Rust入門】配列とベクトの基礎から応用までを説明します

更新日:

記事の内容


Rustの配列、ベクト(Vec)、HashMap(連想配列)、BTreeMap、BinaryHeap、HashSetについて説明します。

配列はどんな時に使うの?

配列とは複数のデータを扱うためのデータ型です。
Rustの配列は内部の要素数を変更させることができません。
内部の要素数を変更させたい時は、ベクタ型(Vec)を使いましょう。

ここがポイント!

  • 何度も同じ処理が出てきたら、配列を使うことを考えてみよう
  • 配列を使うと処理が短くなります
  • 配列を使うと、コードを変更しやすくなります

配列の書き方

ループ処理

配列の中身の見方と範囲で切り出す

配列の分割

ベクタ型(Vec)

要素数を変更させたい時は、ベクタ型(Vec)を使います。

基本的な動作

追加や削除(push, append, remove, pop, split_off)

ソート、重複排除、反転(sort、dedup、reverse)

フィルタリング(retain)

Range

rangeの基本

rangeを使った様々な操作(filter, map, fold)

連想配列とは?

連想配列は、値を格納して自動的に添字の番号(0, 1, 2)が割り振られる配列とは異なります。
その代わりに、番号ではなくキーとなる名前をつけることができます。
番号の代わりにキーとなる名前をつけることにより、そのキーを指定して値を取り出すことができます。

HashMap

HashMapのデータは、取り出す時に順番が常に変わるので注意が必要です。

BTreeMap

HashMapと同様に、キーと値のペアを記録してくれます。
HashMapとの違いは、ハッシュテーブルではなくB木を用いて実装されているということです。
キーは大小の比較ができるもの、つまりOrdを実装している型である必要があります。
キーからの値の探索、ペアの挿入、削除にかかる計算時間のオーダーはO(log n)です。
キーの順序が欲しい連想配列ならば、BTreeMapを使いましょう。

BinaryHeap

二分ヒープにより実装された優先度付きキューです。
大小関係を比較可能な型、つまりOrdを実装した型を格納でき、取り出す時には最も大きい要素を返します。

HashSet

HashSetとは、重複を許さない配列のようなものです。
ただし、HashSetに入った値の順序は保証されません。

まとめ

この記事では、Rustの配列操作について説明しました。

Good luck with your engineer life!

Rustをより詳しく勉強したい人には、この記事がオススメです

Rustの学習でおすすめの本と動画(Udemy)【2022年最新】

中級者向け 基礎から学ぶ 組込みRust Rustで組込み開発をしたい人に向けた本です。 Rustの組込み開発に必要な知識を身に付けながら、マイコン「Wio Terminal」を動かしていきます。 コンセプトから理解するRust Rustの ...

続きを見る


Go言語をより詳しく勉強したい人には、この記事がオススメです

Go言語の学習でおすすめの本と動画(Udemy)【2022年最新】

初心者向け たった1日で基本が身に付く!Go言語 超入門 本書は、Go言語によるプログラミングを学ぶための入門書です。 開発環境のインストールから始まり、Go言語の基本を解説しています。 ただ、解説が微妙な所もあります。 他の言語をすでに学 ...

続きを見る


Rubyをより詳しく勉強したい人には、この記事がオススメです

Rubyの学習でおすすめの本と動画(Udemy)【2022年最新】

▼ Ruby on Railsについては、この記事で紹介しています 初心者向け【入門編】 脱初心者のための問題集 Ruby編 Rubyの基礎的な文法を学習し終わった後、次に何をしようかと考えている人にオススメの本です。 基礎を学んだ後にする ...

続きを見る


Javaをより詳しく勉強したい人には、この記事がオススメです

Javaの学習でおすすめの本と動画(Udemy)【2022年最新】

▼ Spring Bootの勉強をしたい人には、この記事がおすすめです 初心者向け 2週間でJava SE Bronzeの基礎が学べる本 Java SE Bronzeをこれから取得しようという人向けの書籍です。 14日で区切られている各章は ...

続きを見る


ErlangとElixirをより詳しく勉強したい人には、この記事がオススメです

ErlangとElixirの学習でおすすめの本と動画(Udemy)【2022年最新】

Erlang すごいErlangゆかいに学ぼう Erlangの入門書です。 言語の特徴が具体的なコード例と一緒に解説されています。 Erlangらしい関数型言語の良さがわかる内容です。 プログラミングErlang Erlangの強みである並 ...

続きを見る

関連コンテンツ

-Rust

Copyright© プログラミング道場 , 2022 All Rights Reserved Powered by AFFINGER4.