Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Create your online store today with Shopify

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Disclosure: My content contains affiliate links.

43,239 questions

56,142 answers

573 users

How to create a map with key type point (x, y) and value type string in Rust

1 Answer

0 votes
use std::collections::HashMap;
use std::fmt;

// Define Point struct
#[derive(Hash, Eq, PartialEq)]
struct Point {
    x: i32,
    y: i32,
}

// Implement getters and display
impl Point {
    fn get_x(&self) -> i32 {
        self.x
    }

    fn get_y(&self) -> i32 {
        self.y
    }
}

impl fmt::Display for Point {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "({}, {})", self.x, self.y)
    }
}

fn main() {
    let mut point_map: HashMap<Point, String> = HashMap::new();

    point_map.insert(Point { x: 2, y: 7 }, "A".to_string());
    point_map.insert(Point { x: 3, y: 6 }, "B".to_string());
    point_map.insert(Point { x: 0, y: 0 }, "C".to_string());

    for (point, value) in &point_map {
        println!("x: {}, y: {} => {}", point.get_x(), point.get_y(), value);
    }
}



    
/*
run:

x: 3, y: 6 => B
x: 2, y: 7 => A
x: 0, y: 0 => C
   
*/
  
 

 



answered Aug 10, 2025 by avibootz
...