আমি একটি তুলনাকারী তৈরি করছি যা একটি সীমিত স্ট্রিংয়ের উপর বহু-কলামের বাছাইয়ের ক্ষমতা সরবরাহ করে। আমি বর্তমানে কাঁচা স্ট্রিংকে টোকনে বিভক্ত করার জন্য আমার পছন্দসই পছন্দ হিসাবে স্ট্রিং ক্লাস থেকে বিভাজন পদ্ধতিটি ব্যবহার করছি।
কাঁচা স্ট্রিংকে স্ট্রিং অ্যারে রূপান্তর করার জন্য এটি কি সেরা সম্পাদন পদ্ধতি? আমি কয়েক মিলিয়ন সারি বাছাই করব তাই আমার মনে হয় পদ্ধতির বিষয়টি গুরুত্বপূর্ণ।
এটি দুর্দান্ত চলছে বলে মনে হচ্ছে এবং এটি খুব সহজ, তবে জাভাতে আরও দ্রুত উপায় আছে কিনা তা সম্পর্কে নিশ্চিত ure
সাজানো কীভাবে আমার তুলকটিতে কাজ করে তা এখানে:
public int compare(String a, String b) {
String[] aValues = a.split(_delimiter, _columnComparators.length);
String[] bValues = b.split(_delimiter, _columnComparators.length);
int result = 0;
for( int index : _sortColumnIndices ) {
result = _columnComparators[index].compare(aValues[index], bValues[index]);
if(result != 0){
break;
}
}
return result;
}
বিভিন্ন পদ্ধতির বেঞ্চমার্ক করার পরে, এটি বিশ্বাস করুন বা না বিশ্বাস করুন, বিভাজনের পদ্ধতিটি জাভার সর্বশেষতম সংস্করণটি ব্যবহার করে দ্রুততম ছিল। আপনি আমার সমাপ্তি তুলকটি এখানে ডাউনলোড করতে পারেন: https://sourceforge.net/projects/multicolumnrowcomparator/
StringUtils.split[PreserveAllTokens](text, delimiter)
।