تالار گفتمان مانشت
دو سوال‌: افزایش طول آرایه؟ و فرق دوکلاس رشته ای در جاوا؟ - نسخه‌ی قابل چاپ

دو سوال‌: افزایش طول آرایه؟ و فرق دوکلاس رشته ای در جاوا؟ - desatir7316 - 20 آذر ۱۳۹۰ ۱۲:۲۹ ب.ظ

سلام
دوستان ممنون می شم توی جواب این سوال‌ها راهنمایی کنید
  1. توی زبان های c و c++ افزایش طول آرایه به چه صورت است؟ آیا هنگام افزایش باید حافظه قبلی رو پس داد و حافظه ای با طول بیش‌تر گرفت یا خود زبان این کار رو انجام میده؟
  2. در java فرق کلاس های string و stringbuffer در چیست؟

ممنون میشم راهنمایی کنید

دوتا سوال‌: لطفا جواب بدین - mfXpert - 20 آذر ۱۳۹۰ ۰۶:۲۵ ب.ظ

اصولا آرایه تو تعریف کلاسیک اون یک ساختمان داده ایستا هستش.یعنی اگر زبانی به شما اجازه بده که یک آرایه تعریف کنید معمولا این اجازه به شما داده نمیشه که اندازه اون رو افزایش بدید.تو زبان هایی هم که این اجازه رو به شما میدن ابتدا فضای آرایه گرفته شده آزاد میشه و یک فضای جدید بزرگتر برای آرایه گرفته میشه و داده های آرایه قدیمی تو آرایه جدید کپی میشه.(کاربر برنامه نویس از انجام این کارها با خبر نمیشه)

دوتا سوال‌: لطفا جواب بدین - fatima1537 - 20 آذر ۱۳۹۰ ۰۹:۳۸ ب.ظ

(۲۰ آذر ۱۳۹۰ ۱۲:۲۹ ب.ظ)desatir7316 نوشته شده توسط:  توی زبان های c و c++ افزایش طول آرایه به چه صورت است؟ آیا هنگام افزایش باید حافظه قبلی رو پس داد و حافظه ای با طول بیش‌تر گرفت یا خود زبان این کار رو انجام میده؟
درمورد زبان c++ اطلاعی ندارم اما درمورد زبان c#‌، کاربر اصلا کاری با پس گیری فضاهای اضافی نداره و خود برنامه این کار رو انجام میده

RE: دوتا سوال‌: لطفا جواب بدین - pos - 20 آذر ۱۳۹۰ ۰۹:۵۸ ب.ظ

(۲۰ آذر ۱۳۹۰ ۱۲:۲۹ ب.ظ)desatir7316 نوشته شده توسط:  در java فرق کلاس های string و stringbuffer در چیست؟

از لحاظ کنکوری نمی دانم. ولی از لحاظ برنامه نویسی stringbuffer یکسری قابلیت های اضافه نسبت به string داره مثل توابعی مانند append.
البته توی سایت زیر نوشته در string شما نمی توانید مقدار را تغییر بدین. مثلا کد زیر را در نظر بگیرین:
String myText="Hello"
ُmyText=myText+" World"
توی خط دوم مقدار آبجکت قبلی تغییر نمی کنه. بلکه یک آبجکت دیگر تعریف میشه و مقدار اون بروز رسانی میشه. ولی در Stringbuffer اینطوری نیست و شما وقتی مثلا با append یک چیزی را بهش اضافه می کنین آبجکت عوض نمیشه بلکه مقدارش تغییر می کنه. و فکر کنم حالت دوم کارایی بیشتری داره.

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


RE: دوتا سوال‌: لطفا جواب بدین - mosaferkuchulu - 21 آذر ۱۳۹۰ ۰۱:۴۶ ق.ظ

(۲۰ آذر ۱۳۹۰ ۱۲:۲۹ ب.ظ)desatir7316 نوشته شده توسط:  در java فرق کلاس های string و stringbuffer در چیست؟
این تعریفی هست که تو اسلایدای درس پیشرفته استادمون گذاشته!اامیدوارم کمکتون کنه!

StringBuffer:A mutable sequence of characters. A string buffer is like a String, but can be modified. At any point in time it contains some particular sequence of characters, but the length and content of the sequence can be changed through certain method calls

The principal operations on a StringBuffer are the append and insert methods, which are overloaded so as to accept data of any type. Each effectively converts a given datum to a string and then appends or inserts the characters of that string to the string buffer. The append method always adds these characters at the end of the buffer; the insert method adds the characters at a specified point.