Ints এর একটি DataBuffer
.
পাবলিক পদ্ধতি
বিমূর্ত IntDataBuffer | কপিটু ( DataBuffer <Integer> dst, দীর্ঘ আকার) |
বিমূর্ত int | getInt (লম্বা সূচক) প্রদত্ত সূচকে int পড়ে। |
বিমূর্ত পূর্ণসংখ্যা | getObject (লম্বা সূচক) প্রদত্ত সূচকে মান পড়ে। |
বিমূর্ত IntDataBuffer | সরু (দীর্ঘ আকার) একটি নতুন বাফার তৈরি করে যার বিষয়বস্তু এই বাফারের বিষয়বস্তুর একটি ভাগ করা অনুসারী, যার আকার প্রদত্ত মানের সাথে সেট করা আছে। |
বিমূর্ত IntDataBuffer | অফসেট (দীর্ঘ সূচক) একটি নতুন বাফার তৈরি করে যার বিষয়বস্তু প্রদত্ত সূচী থেকে শুরু করে এই বাফারের বিষয়বস্তুর একটি ভাগ করা পরবর্তী অংশ। |
বিমূর্ত IntDataBuffer | পড়ুন (int[] dst) বাল্ক পেতে পদ্ধতি, int অ্যারে ব্যবহার করে. |
বিমূর্ত IntDataBuffer | পড়ুন (int[] dst, int অফসেট, int দৈর্ঘ্য) বাল্ক পেতে পদ্ধতি, int অ্যারে ব্যবহার করে. |
বিমূর্ত IntDataBuffer | setInt (int মান, দীর্ঘ সূচক) প্রদত্ত সূচীতে এই বাফারে প্রদত্ত int লিখুন। |
বিমূর্ত IntDataBuffer | setObject (পূর্ণসংখ্যা মান, দীর্ঘ সূচক) |
বিমূর্ত IntDataBuffer | স্লাইস (লম্বা সূচক, লম্বা আকার) একটি নতুন বাফার তৈরি করে যার বিষয়বস্তু প্রদত্ত সূচী থেকে শুরু করে এবং প্রদত্ত আকারের এই বাফারের বিষয়বস্তুর একটি ভাগ করা পরবর্তী অংশ। |
বিমূর্ত DataBufferWindow <IntDataBuffer> | জানালা (দীর্ঘ আকার) একটি DataBufferWindow তৈরি করে যা এই বাফারটির একটি আংশিক দৃশ্য প্রদান করে। |
বিমূর্ত IntDataBuffer | লিখুন (int[] src) বাল্ক পুট পদ্ধতি, int অ্যারে ব্যবহার করে। |
বিমূর্ত IntDataBuffer | লিখুন (int[] src, int অফসেট, int দৈর্ঘ্য) বাল্ক পুট পদ্ধতি, int অ্যারে ব্যবহার করে। |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি
পাবলিক পদ্ধতি
পাবলিক বিমূর্ত int getInt (দীর্ঘ সূচক)
প্রদত্ত সূচকে int পড়ে।
পরামিতি
সূচক | যে সূচী থেকে ফ্লোট পড়া হবে |
---|
রিটার্নস
- প্রদত্ত সূচকে int
নিক্ষেপ করে
IndexOutOfBoundsException | যদি সূচক ঋণাত্মক হয় বা বাফার আকারের চেয়ে ছোট না হয় |
---|
সর্বজনীন বিমূর্ত পূর্ণসংখ্যা getObject (দীর্ঘ সূচক)
প্রদত্ত সূচকে মান পড়ে। গুরুত্বপূর্ণ: এই পদ্ধতির ব্যবহার নন-প্রিমিটিভ ধরনের বাফারের মধ্যে সীমাবদ্ধ হওয়া উচিত বা যখন কলকারীর দ্বারা ডেটা টাইপ নির্ধারকভাবে জানা যায় না। অন্য কোনো ক্ষেত্রে, এর আদিম বৈকল্পিক ব্যবহারকে অগ্রাধিকার দিন যা উল্লেখযোগ্যভাবে পারফরম্যান্সকে উন্নত করবে (যেমন IntDataBuffer.getInt(idx)
পরামিতি
সূচক | যে সূচী থেকে ফ্লোট পড়া হবে |
---|
রিটার্নস
- প্রদত্ত সূচকে মান
সর্বজনীন বিমূর্ত IntDataBuffer সংকীর্ণ (দীর্ঘ আকার)
একটি নতুন বাফার তৈরি করে যার বিষয়বস্তু এই বাফারের বিষয়বস্তুর একটি ভাগ করা অনুসারী, যার আকার প্রদত্ত মানের সাথে সেট করা আছে।
নতুন আকার এই বাফার আকারের চেয়ে বড় হওয়া উচিত নয়। এই বাফারের বিষয়বস্তুর পরিবর্তনগুলি নতুন বাফারে দৃশ্যমান হবে এবং এর বিপরীতে। নতুন বাফারটি শুধুমাত্র পঠনযোগ্য হবে, এবং শুধুমাত্র যদি, এই বাফারটি শুধুমাত্র পঠনযোগ্য হয়।
এই কলটি slice(0, size)
এর সমতুল্য
পরামিতি
আকার | এই নতুন বাফার আকার |
---|
রিটার্নস
- নতুন বাফার
সর্বজনীন বিমূর্ত IntDataBuffer অফসেট (দীর্ঘ সূচক)
একটি নতুন বাফার তৈরি করে যার বিষয়বস্তু প্রদত্ত সূচী থেকে শুরু করে এই বাফারের বিষয়বস্তুর একটি ভাগ করা পরবর্তী অংশ।
সূচকটি এই বাফার আকারের চেয়ে বেশি হওয়া উচিত নয়৷ এই বাফারের বিষয়বস্তুর পরিবর্তনগুলি নতুন বাফারে দৃশ্যমান হবে এবং এর বিপরীতে। নতুন বাফারটি শুধুমাত্র পঠনযোগ্য হবে, এবং শুধুমাত্র যদি, এই বাফারটি শুধুমাত্র পঠনযোগ্য হয়।
এই কলটি slice(index, size() - index)
এর সমতুল্য
পরামিতি
সূচক | তৈরি করা নতুন বাফারের প্রথম মানের সূচক, size() থেকে বেশি হওয়া উচিত নয় |
---|
রিটার্নস
- নতুন বাফার
সর্বজনীন বিমূর্ত IntDataBuffer রিড (int[] dst)
বাল্ক পেতে পদ্ধতি, int অ্যারে ব্যবহার করে.
এই পদ্ধতিটি এই বাফার থেকে প্রদত্ত গন্তব্য অ্যারেতে মান স্থানান্তর করে। যদি অনুরোধটি পূরণ করার জন্য প্রয়োজনের তুলনায় বাফারে কম মান থাকে, অর্থাৎ, যদি dst.length > size()
, তাহলে কোনো মান স্থানান্তর করা হয় না এবং একটি BufferUnderflowException নিক্ষেপ করা হয়।
অন্যথায়, এই পদ্ধতিটি প্রদত্ত অ্যারেতে এই বাফার থেকে n = dst.length
মানগুলি কপি করে।
পরামিতি
dst | যে বিন্যাসে মান লিখতে হবে |
---|
রিটার্নস
- এই বাফার
নিক্ষেপ করে
BufferUnderflowException | যদি এই বাফার থেকে অনুলিপি করার জন্য পর্যাপ্ত মান না থাকে |
---|
সর্বজনীন বিমূর্ত IntDataBuffer রিড (int[] dst, int অফসেট, int দৈর্ঘ্য)
বাল্ক পেতে পদ্ধতি, int অ্যারে ব্যবহার করে.
এই পদ্ধতিটি এই বাফার থেকে প্রদত্ত গন্তব্য অ্যারেতে মান স্থানান্তর করে। যদি অনুরোধটি পূরণ করার জন্য প্রয়োজনের তুলনায় বাফারে কম মান থাকে, অর্থাৎ যদি length > size()
, তাহলে কোনো মান স্থানান্তর করা হয় না এবং একটি BufferUnderflowException নিক্ষেপ করা হয়।
অন্যথায়, এই পদ্ধতিটি প্রদত্ত অফসেট থেকে শুরু করে প্রদত্ত অ্যারেতে এই বাফার থেকে n = length
মান কপি করে।
পরামিতি
dst | যে বিন্যাসে মান লিখতে হবে |
---|---|
অফসেট | প্রথম মানের অ্যারের মধ্যে অফসেট লিখতে হবে; অ-নেতিবাচক এবং dst.length এর চেয়ে বড় হতে হবে না |
দৈর্ঘ্য | প্রদত্ত অ্যারেতে লিখতে হবে সর্বোচ্চ সংখ্যক মান; অ-নেতিবাচক এবং dst.length - offset চেয়ে বড় হতে হবে না |
রিটার্নস
- এই বাফার
নিক্ষেপ করে
BufferUnderflowException | যদি এই বাফারে দৈর্ঘ্যের থেকে কম মান অবশিষ্ট থাকে |
---|---|
IndexOutOfBoundsException | যদি অফসেট এবং দৈর্ঘ্যের পরামিতিগুলির পূর্বশর্তগুলি ধরে না থাকে |
সর্বজনীন বিমূর্ত IntDataBuffer setInt (int মান, দীর্ঘ সূচক)
প্রদত্ত সূচীতে এই বাফারে প্রদত্ত int লিখুন।
পরামিতি
মান | int লিখতে হবে |
---|---|
সূচক | যে সূচীতে মান লেখা হবে |
রিটার্নস
- এই বাফার
নিক্ষেপ করে
IndexOutOfBoundsException | যদি সূচক ঋণাত্মক হয় বা বাফার আকারের চেয়ে ছোট না হয় |
---|---|
ReadOnlyBufferException | যদি এই বাফারটি শুধুমাত্র পঠনযোগ্য হয় |
সর্বজনীন বিমূর্ত IntDataBuffer স্লাইস (দীর্ঘ সূচক, দীর্ঘ আকার)
একটি নতুন বাফার তৈরি করে যার বিষয়বস্তু প্রদত্ত সূচী থেকে শুরু করে এবং প্রদত্ত আকারের এই বাফারের বিষয়বস্তুর একটি ভাগ করা পরবর্তী অংশ।
ইনডেক্স প্লাস নতুন আকার এই বাফার আকারের চেয়ে বেশি হওয়া উচিত নয়। এই বাফারের বিষয়বস্তুর পরিবর্তনগুলি নতুন বাফারে দৃশ্যমান হবে এবং এর বিপরীতে। নতুন বাফারটি শুধুমাত্র পঠনযোগ্য হবে, এবং শুধুমাত্র যদি, এই বাফারটি শুধুমাত্র পঠনযোগ্য হয়।
পরামিতি
সূচক | তৈরি করা নতুন বাফারের প্রথম মানের সূচক |
---|---|
আকার | এই নতুন বাফারের আকার, size() থেকে বেশি হওয়া উচিত নয় |
রিটার্নস
- নতুন বাফার
সর্বজনীন বিমূর্ত DataBufferWindow < IntDataBuffer > উইন্ডো (দীর্ঘ আকার)
একটি DataBufferWindow
তৈরি করে যা এই বাফারটির একটি আংশিক দৃশ্য প্রদান করে।
তৈরি করা উইন্ডোটির একটি নির্দিষ্ট আকার রয়েছে এবং offset(long)
এর মতো একটি নতুন বাফার ইনস্ট্যান্স বরাদ্দ না করে ডেটার বিভিন্ন ভিউ প্রদান করতে এই বাফার বরাবর "slide"
করতে পারে। এই অপারেশনটি ঘন ঘন পুনরাবৃত্তি হলে এটি সামগ্রিক কর্মক্ষমতা উন্নত করে। যেমন:
IntDataBuffer bufferA = DataBuffers.ofInts(1024);
// ... init buffer data
IntDataBuffer bufferB = DataBuffers.ofInts(1, 2, 3, 4);
// Return the index of the first occurrence of bufferB in bufferA using a sliding window
DataBufferWindow<IntDataBuffer> windowA = bufferA.window(4);
for (int i = 0; i < bufferA.size() - bufferB.size(); ++i) {
if (windowA.slideTo(i).buffer().equals(bufferB)) {
return i;
}
}
প্রত্যাবর্তিত বস্তু রাষ্ট্রীয় এবং থ্রেড-নিরাপদ নয়।
পরামিতি
আকার | জানালার আকার |
---|
রিটার্নস
- একটি নতুন উইন্ডো যা এই বাফারের সূচক 0 এ শুরু হয়
সর্বজনীন বিমূর্ত IntDataBuffer লিখুন (int[] src)
বাল্ক পুট পদ্ধতি, int অ্যারে ব্যবহার করে।
এই পদ্ধতিটি প্রদত্ত সোর্স অ্যারের মানগুলিকে এই বাফারে স্থানান্তর করে। যদি এই বাফারের তুলনায় সোর্স অ্যারেতে বেশি মান থাকে, অর্থাৎ, যদি src.length > size()
, তাহলে কোনো মান স্থানান্তর করা হবে না এবং একটি BufferOverflowException নিক্ষেপ করা হবে।
অন্যথায়, এই পদ্ধতিটি প্রদত্ত অ্যারে থেকে n = src.length
মান কপি করে।
পরামিতি
src | উৎস অ্যারে যা থেকে মান পড়তে হবে |
---|
রিটার্নস
- এই বাফার
নিক্ষেপ করে
BufferOverflowException | যদি উৎস অ্যারের মানগুলির জন্য এই বাফারে অপর্যাপ্ত স্থান থাকে |
---|---|
ReadOnlyBufferException | যদি এই বাফারটি শুধুমাত্র পঠনযোগ্য হয় |
সর্বজনীন বিমূর্ত IntDataBuffer লিখুন (int[] src, int অফসেট, int দৈর্ঘ্য)
বাল্ক পুট পদ্ধতি, int অ্যারে ব্যবহার করে।
এই পদ্ধতিটি প্রদত্ত সোর্স অ্যারের মানগুলিকে এই বাফারে স্থানান্তর করে। যদি এই বাফারের তুলনায় সোর্স অ্যারেতে বেশি মান থাকে, অর্থাৎ, যদি length > size()
, তাহলে কোনো মান স্থানান্তর করা হয় না এবং একটি BufferOverflowException নিক্ষেপ করা হয়।
অন্যথায়, এই পদ্ধতিটি প্রদত্ত অ্যারে থেকে n = length
মানগুলিকে এই বাফারে কপি করে, প্রদত্ত অফসেট থেকে শুরু করে।
পরামিতি
src | উৎস অ্যারে যা থেকে মান পড়তে হবে |
---|---|
অফসেট | পড়া হবে প্রথম মানের অ্যারের মধ্যে অফসেট; অ-নেতিবাচক এবং src.length এর চেয়ে বড় হতে হবে না |
দৈর্ঘ্য | প্রদত্ত অ্যারে থেকে পড়ার মানগুলির সংখ্যা; অ-নেতিবাচক এবং src.length - offset চেয়ে বড় হতে হবে না |
রিটার্নস
- এই বাফার
নিক্ষেপ করে
BufferOverflowException | যদি উৎস অ্যারের মানগুলির জন্য এই বাফারে অপর্যাপ্ত স্থান থাকে |
---|---|
IndexOutOfBoundsException | যদি অফসেট এবং দৈর্ঘ্যের পরামিতিগুলির পূর্বশর্তগুলি ধরে না থাকে |
ReadOnlyBufferException | যদি এই বাফারটি শুধুমাত্র পঠনযোগ্য হয় |