سؤال

لنفترض أن لدي رقعة شطرنج محددة باستخدام HashMap

HashMap <Position,Field> chessboard = new HashMap <Position,Field>();

أنا أعلن Position مثل

class Position{
  int x;
  int y;
}

عندما أحاول إنشاء فصل دراسي لـ Field كائن أواجه مشكلة:ال Field يجب أن تحتوي على Position لأنه محدد به.السابق.

class Field {
  Position pos;
  int color;
  void draw(){
    // draw Field using pos
  }
}

ولكن سيتم استخدام كائن الموضع لـ HashMap.كيف يمكنني تجنب هذا التكرار؟

هل كانت مفيدة؟

المحلول

التكلفة ليست في الواقع كما تعتقد:أنت تحتفظ فقط بمرجع واحد (أربعة بايت في معظم الأنظمة) لنفسه Position كائن في الذاكرة.النفقات العامة ضئيلة.لا تقلق بشأن ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top