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

プログラミング道場

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

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

目次1 これからエンジニアになりたい人へ向けた本2 プログラミング言語3 アプリ開発4 サーバー、インフラ、セキュリティなど5 機械学習系6 ゲーム開発7 データベース8 デザイン9 組織作り10 自作シリーズ11 その他12 おまけ これ ...

続きを見る

【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の学習でおすすめの本と動画【2024年最新】

目次1 動画教材2 中級者向け 動画教材 基礎から学ぶRustプログラミング入門 ▼ 興味がある方は、画像をクリック このコースの対象受講者: Rustに興味があるが一歩踏み出せていない方 Rustに挑戦してみたものの、難しく挫折してしまっ ...

続きを見る


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

Go言語の学習でおすすめの本と動画【2024年最新】

目次1 動画教材2 初心者向け3 中級者向け4 上級者向け 動画教材 【Go入門】Golang基礎入門 + 各種ライブラリ + 簡単なTodoWebアプリケーション開発(Go言語) ▼ 興味がある方は、画像をクリック Golang(Go言語 ...

続きを見る


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

Rubyの学習でおすすめの本と動画【2024年最新】

▼ Ruby on Railsについては、この記事で紹介しています 目次1 動画教材2 初心者向け【入門編】3 中級者向け4 上級者向け 動画教材 "ちゃんと" Ruby を学ぼう! ー オブジェクト指向機能ってなんだ? ▼ 興味がある方は ...

続きを見る


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

Javaの学習でおすすめの本と動画【2024年最新】

▼ Spring Bootの勉強をしたい人には、この記事がおすすめです 目次1 動画教材2 初心者向け3 中級者向け 動画教材 動画でわかる Java入門講座 基本~オブジェクト編 ▼ 興味がある方は、画像をクリックして下さい 「初心者向け ...

続きを見る


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

ErlangとElixirの学習でおすすめの本【2024年最新】

目次1 Erlang2 Elixir Erlang プログラミングErlang Erlangの強みである並列化と分散化を勉強するのに適した本です。 OTP(Open Telecom Platform)を学ぶには、「すごいErlangゆかいに ...

続きを見る

-Rust

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