{"id":73074,"date":"2024-08-11T16:12:57","date_gmt":"2024-08-11T12:42:57","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/"},"modified":"2024-08-11T16:12:57","modified_gmt":"2024-08-11T12:42:57","slug":"data-structures-arrays-1ad4","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/","title":{"rendered":"\u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u06cc \u062f\u0627\u062f\u0647: \u0622\u0631\u0627\u06cc\u0647 \u0647\u0627"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D8%A2%D8%B1%D8%A7%DB%8C%D9%87_%D8%A7%D8%B3%D8%AA%D8%A7%D8%AA%DB%8C%DA%A9\" >\u0622\u0631\u0627\u06cc\u0647 \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D9%85%D9%82%D8%AF%D8%A7%D8%B1_%D8%AF%D9%87%DB%8C_%D8%A7%D9%88%D9%84%DB%8C%D9%87\" >\u0645\u0642\u062f\u0627\u0631 \u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D8%B1%D9%88%D8%B4_%D8%AA%D9%86%D8%B8%DB%8C%D9%85\" >\u0631\u0648\u0634 \u062a\u0646\u0638\u06cc\u0645<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA_%D8%B1%D9%88%D8%B4\" >\u062f\u0631\u06cc\u0627\u0641\u062a \u0631\u0648\u0634<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D8%B1%D9%88%D8%B4_%DA%86%D8%A7%D9%BE\" >\u0631\u0648\u0634 \u0686\u0627\u067e<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D8%A2%D8%B1%D8%A7%DB%8C%D9%87_%D9%85%D8%B1%D8%AA%D8%A8_%D8%B4%D8%AF%D9%87\" >\u0622\u0631\u0627\u06cc\u0647 \u0645\u0631\u062a\u0628 \u0634\u062f\u0647<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D9%85%D9%82%D8%AF%D8%A7%D8%B1_%D8%AF%D9%87%DB%8C_%D8%A7%D9%88%D9%84%DB%8C%D9%87-2\" >\u0645\u0642\u062f\u0627\u0631 \u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%DA%AF%DB%8C%D8%B1%D9%86%D8%AF%DA%AF%D8%A7%D9%86\" >\u06af\u06cc\u0631\u0646\u062f\u06af\u0627\u0646<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D8%B1%D9%88%D8%B4_%D8%AF%D8%B1%D8%AC\" >\u0631\u0648\u0634 \u062f\u0631\u062c<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D8%B1%D9%88%D8%B4_%D8%AD%D8%B0%D9%81\" >\u0631\u0648\u0634 \u062d\u0630\u0641<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D8%B1%D9%88%D8%B4_%D9%87%D8%A7%DB%8C_%D8%AC%D8%B3%D8%AA%D8%AC%D9%88\" >\u0631\u0648\u0634 \u0647\u0627\u06cc \u062c\u0633\u062a\u062c\u0648<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D8%B1%D9%88%D8%B4_%D8%AA%D8%B1%D8%A7%D9%88%D8%B1%D8%B3\" >\u0631\u0648\u0634 \u062a\u0631\u0627\u0648\u0631\u0633<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D8%B1%D8%A7%D8%A8%D8%B7_%D9%BE%D8%A7%D8%B3%D8%AE_%D8%A8%D9%87_%D8%AA%D9%85%D8%A7%D8%B3\" >\u0631\u0627\u0628\u0637 \u067e\u0627\u0633\u062e \u0628\u0647 \u062a\u0645\u0627\u0633<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_%D9%88%D8%A7%D8%B3%D8%B7_%D8%A8%D8%B1%DA%AF%D8%B4%D8%AA_%D8%A8%D9%87_%D8%AA%D9%85%D8%A7%D8%B3_%D8%AF%D8%B1_%D9%BE%DB%8C%D9%85%D8%A7%DB%8C%D8%B4\" >\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0648\u0627\u0633\u0637 \u0628\u0631\u06af\u0634\u062a \u0628\u0647 \u062a\u0645\u0627\u0633 \u062f\u0631 \u067e\u06cc\u0645\u0627\u06cc\u0634<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D8%A2%D8%B1%D8%A7%DB%8C%D9%87_%D9%85%D8%B1%D8%AA%D8%A8_%D9%86%D8%B4%D8%AF%D9%87\" >\u0622\u0631\u0627\u06cc\u0647 \u0645\u0631\u062a\u0628 \u0646\u0634\u062f\u0647<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D8%B1%D9%88%D8%B4_%D8%AF%D8%B1%D8%AC-2\" >\u0631\u0648\u0634 \u062f\u0631\u062c<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D8%B1%D9%88%D8%B4_%D8%AC%D8%B3%D8%AA%D8%AC%D9%88\" >\u0631\u0648\u0634 \u062c\u0633\u062a\u062c\u0648<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D8%A2%D8%B1%D8%A7%DB%8C%D9%87_%D9%BE%D9%88%DB%8C%D8%A7\" >\u0622\u0631\u0627\u06cc\u0647 \u067e\u0648\u06cc\u0627<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D9%85%D9%82%D8%AF%D8%A7%D8%B1_%D8%AF%D9%87%DB%8C_%D8%A7%D9%88%D9%84%DB%8C%D9%87-3\" >\u0645\u0642\u062f\u0627\u0631 \u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D8%B1%D9%88%D8%B4_%D8%AF%D8%B1%D8%AC-3\" >\u0631\u0648\u0634 \u062f\u0631\u062c<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/nabfollower.com\/blog\/data-structures-arrays-1ad4\/#%D8%B1%D9%88%D8%B4_%D8%AD%D8%B0%D9%81-2\" >\u0631\u0648\u0634 \u062d\u0630\u0641<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A2%D8%B1%D8%A7%DB%8C%D9%87_%D8%A7%D8%B3%D8%AA%D8%A7%D8%AA%DB%8C%DA%A9\"><\/span>\n<p>  \u0622\u0631\u0627\u06cc\u0647 \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0622\u0631\u0627\u06cc\u0647 \u06cc\u06a9 \u0633\u0627\u062e\u062a\u0627\u0631 \u062f\u0627\u062f\u0647 \u062e\u0637\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u0647\u0645\u0647 \u0639\u0646\u0627\u0635\u0631 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062a\u0648\u0627\u0644\u06cc \u0645\u0631\u062a\u0628 \u0634\u062f\u0647 \u0627\u0646\u062f. \u0627\u06cc\u0646 \u0645\u062c\u0645\u0648\u0639\u0647 \u0627\u06cc \u0627\u0632 \u0639\u0646\u0627\u0635\u0631 \u0627\u0633\u062a <strong><em>\u0647\u0645\u0627\u0646<\/em><\/strong>  \u0646\u0648\u0639 \u062f\u0627\u062f\u0647 \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f\u0647 \u062f\u0631 <strong><em>\u062d\u0627\u0641\u0638\u0647 \u067e\u06cc\u0648\u0633\u062a\u0647<\/em><\/strong>  \u0645\u06a9\u0627\u0646 \u0647\u0627<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D9%82%D8%AF%D8%A7%D8%B1_%D8%AF%D9%87%DB%8C_%D8%A7%D9%88%D9%84%DB%8C%D9%87\"><\/span>\n<p>  \u0645\u0642\u062f\u0627\u0631 \u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>public class Array&lt;T&gt; {\n    private T[] self;\n    private int size;\n    @SuppressWarnings(\"unchecked\")\n    public Array(int size) {\n        if (size &lt;= 0) {\n            throw new IllegalArgumentException(\"Invalid array size (must be positive): \" + size);\n        } else {\n            this.size = size;\n            this.self = (T[]) new Object[size];\n        }\n    }\n}\n<\/code><\/pre>\n<\/div>\n<p>\u062f\u0631 \u06a9\u0644\u0627\u0633 \u0622\u0631\u0627\u06cc\u0647 \u0647\u0633\u062a\u0647\u060c \u0627\u0646\u062f\u0627\u0632\u0647 \u0622\u0631\u0627\u06cc\u0647 \u0648 \u06cc\u06a9 \u0627\u0633\u06a9\u0644\u062a \u06a9\u0644\u06cc \u0628\u0631\u0627\u06cc \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0622\u0631\u0627\u06cc\u0647 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u0645\u06cc \u06a9\u0646\u06cc\u0645. \u062f\u0631 \u0633\u0627\u0632\u0646\u062f\u0647\u060c \u0627\u0646\u062f\u0627\u0632\u0647 \u0622\u0631\u0627\u06cc\u0647 \u0631\u0627 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u0645 \u0648 \u06cc\u06a9 \u0634\u06cc \u0645\u06cc\u200c\u0633\u0627\u0632\u06cc\u0645 \u0648 \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0622\u0631\u0627\u06cc\u0647 \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u062e\u0648\u062f \u0631\u06cc\u062e\u062a\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%B1%D9%88%D8%B4_%D8%AA%D9%86%D8%B8%DB%8C%D9%85\"><\/span>\n<p>  \u0631\u0648\u0634 \u062a\u0646\u0638\u06cc\u0645<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>public void set(T item, int index) {\n        if (index &gt;= this.size || index &lt; 0) {\n            throw new IndexOutOfBoundsException(\"Index Out of bounds: \" + index);\n        } else {\n            this.self[index] = item;\n        }\n    }\n<\/code><\/pre>\n<\/div>\n<p>\u0627\u06cc\u0646 \u0631\u0648\u0634 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u06cc\u06a9 \u0622\u06cc\u062a\u0645 \u062f\u0631 \u0622\u0631\u0627\u06cc\u0647 \u0648 \u0641\u0647\u0631\u0633\u062a\u06cc \u06a9\u0647 \u0622\u06cc\u062a\u0645 \u0628\u0627\u06cc\u062f \u062f\u0631 \u0622\u0646 \u0630\u062e\u06cc\u0631\u0647 \u0634\u0648\u062f \u0630\u062e\u06cc\u0631\u0647 \u0634\u0648\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AF%D8%B1%DB%8C%D8%A7%D9%81%D8%AA_%D8%B1%D9%88%D8%B4\"><\/span>\n<p>  \u062f\u0631\u06cc\u0627\u0641\u062a \u0631\u0648\u0634<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>public T get(int index) {\n        if (index &gt;= this.size || index &lt; 0) {\n            throw new IndexOutOfBoundsException(\"Index Out of bounds\");\n        } else {\n            return self[index];\n        }\n    }\n<\/code><\/pre>\n<\/div>\n<p>Get Method \u06cc\u06a9 \u0646\u0645\u0627\u06cc\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u062f \u0648 \u0645\u0648\u0631\u062f \u0631\u0627 \u0627\u0632 \u0622\u0646 \u0641\u0647\u0631\u0633\u062a \u0628\u0627\u0632\u06cc\u0627\u0628\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%B1%D9%88%D8%B4_%DA%86%D8%A7%D9%BE\"><\/span>\n<p>  \u0631\u0648\u0634 \u0686\u0627\u067e<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>public void print() {\n        for (int i = 0; i &lt; size; i++) {\n            System.out.println(this.self[i]+\" \");\n        }\n    }\n<\/code><\/pre>\n<\/div>\n<p>\u0631\u0648\u0634 \u0686\u0627\u067e \u0641\u0642\u0637 \u0686\u0627\u067e \u062a\u0645\u0627\u0645 \u0627\u0639\u0636\u0627\u06cc \u06cc\u06a9 \u0622\u0631\u0627\u06cc\u0647 \u062f\u0631 \u06cc\u06a9 \u062e\u0637 \u0628\u0627 \u0641\u0627\u0635\u0644\u0647 \u0627\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0647\u0631 \u0622\u06cc\u062a\u0645 \u0631\u0627 \u0628\u06cc\u0646 \u0622\u0646\u0647\u0627 \u062c\u062f\u0627 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A2%D8%B1%D8%A7%DB%8C%D9%87_%D9%85%D8%B1%D8%AA%D8%A8_%D8%B4%D8%AF%D9%87\"><\/span>\n<p>  \u0622\u0631\u0627\u06cc\u0647 \u0645\u0631\u062a\u0628 \u0634\u062f\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0622\u0631\u0627\u06cc\u0647 \u0647\u0627 \u0627\u0645\u0627 \u062f\u0627\u0631\u0627\u06cc \u0642\u0627\u0628\u0644\u06cc\u062a \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc \u0639\u0646\u0627\u0635\u0631 \u062e\u0648\u062f \u0647\u0633\u062a\u0646\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D9%82%D8%AF%D8%A7%D8%B1_%D8%AF%D9%87%DB%8C_%D8%A7%D9%88%D9%84%DB%8C%D9%87-2\"><\/span>\n<p>  \u0645\u0642\u062f\u0627\u0631 \u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>public class SortedArray&lt;T extends Comparable&lt;T&gt;&gt; {\n    private T[] array;\n    private int size;\n    private final int maxSize;\n    @SuppressWarnings(\"unchecked\")\n    public SortedArray(int maxSize) {\n        if (maxSize &lt;= 0) {\n            throw new IllegalArgumentException(\"Invalid array max size (must be positive): \" + maxSize);\n        }\n        this.array = (T[]) new Comparable[maxSize];\n        this.size = 0;\n        this.maxSize = maxSize;\n    }\n}\n<\/code><\/pre>\n<\/div>\n<p>\u062f\u0631 \u06a9\u0644\u0627\u0633 \u0622\u0631\u0627\u06cc\u0647 \u0645\u0631\u062a\u0628 \u0634\u062f\u0647\u060c \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u0645 \u0627\u0646\u062f\u0627\u0632\u0647 \u0622\u0631\u0627\u06cc\u0647 \u0631\u0627 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u0645 \u0648 \u062d\u062f\u0627\u06a9\u062b\u0631 \u0627\u0646\u062f\u0627\u0632\u0647 \u0622\u0631\u0627\u06cc\u0647 \u0631\u0627 \u0646\u06cc\u0632 \u0648 \u06cc\u06a9 \u0627\u0633\u06a9\u0644\u062a \u06a9\u0644\u06cc \u0628\u0631\u0627\u06cc \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0622\u0631\u0627\u06cc\u0647 \u0628\u062e\u0648\u0627\u0647\u06cc\u0645. \u062f\u0631 \u0633\u0627\u0632\u0646\u062f\u0647\u060c Max Size \u0622\u0631\u0627\u06cc\u0647 \u0631\u0627 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u0645 \u0648 \u06cc\u06a9 \u0634\u06cc \u0645\u06cc\u200c\u0633\u0627\u0632\u06cc\u0645 \u0648 \u0622\u0646 \u0631\u0627 \u062f\u0631 \u0622\u0631\u0627\u06cc\u0647 \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u062e\u0648\u062f \u0631\u06cc\u062e\u062a\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%DA%AF%DB%8C%D8%B1%D9%86%D8%AF%DA%AF%D8%A7%D9%86\"><\/span>\n<p>  \u06af\u06cc\u0631\u0646\u062f\u06af\u0627\u0646<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>public int length() {\n        return this.size;\n    }\n public int maxLength() {\n        return this.maxSize;\n    }\n public T get(int index) {\n        if (index &lt; 0 || index &gt;= this.size) {\n            throw new IndexOutOfBoundsException(\"Index out of \n bounds: \" + index);\n        }\n        return this.array[index];\n    }\n<\/code><\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D8%B1%D9%88%D8%B4_%D8%AF%D8%B1%D8%AC\"><\/span>\n<p>  \u0631\u0648\u0634 \u062f\u0631\u062c<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>private int findInsertionPosition(T item) {\n        int left = 0;\n        int right = size - 1;\n        while (left &lt;= right) {\n            int mid = (left + right) \/ 2;\n            int cmp = item.compareTo(this.array[mid]);\n            if (cmp &lt; 0) {\n                right = mid - 1;\n            } else {\n                left = mid + 1;\n            }\n        }\n        return left;\n    }\npublic void insert(T item) {\n        if (this.size &gt;= this.maxSize) {\n            throw new IllegalStateException(\"The array is already full\");\n        }\n\n        int position = findInsertionPosition(item);\n\n        for (int i = size; i &gt; position; i--) {\n            this.array[i] = this.array[i - 1];\n        }\n        this.array[position] = item;\n        size++;\n    }\n<\/code><\/pre>\n<\/div>\n<p>Insert Method \u0645\u0648\u0631\u062f \u0631\u0627 \u062f\u0631 \u0645\u0648\u0642\u0639\u06cc\u062a \u062e\u0648\u062f \u0628\u0647 \u0634\u06a9\u0644 \u0645\u0631\u062a\u0628 \u0634\u062f\u0647 \u062f\u0631\u062c \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%B1%D9%88%D8%B4_%D8%AD%D8%B0%D9%81\"><\/span>\n<p>  \u0631\u0648\u0634 \u062d\u0630\u0641<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>    public void delete(T item) {\n        int index = binarySearch(item);\n        if (index == -1) {\n            throw new IllegalArgumentException(\"Unable to delete element \" + item + \": the entry is not in the array\");\n        }\n\n        for (int i = index; i &lt; size - 1; i++) {\n            this.array[i] = this.array[i + 1];\n        }\n        this.array[size - 1] = null;\n        size--;\n    }\n<\/code><\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D8%B1%D9%88%D8%B4_%D9%87%D8%A7%DB%8C_%D8%AC%D8%B3%D8%AA%D8%AC%D9%88\"><\/span>\n<p>  \u0631\u0648\u0634 \u0647\u0627\u06cc \u062c\u0633\u062a\u062c\u0648<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>private int binarySearch(T target) {\n        int left = 0;\n        int right = size - 1;\n        while (left &lt;= right) {\n            int mid = (left + right) \/ 2;\n            int cmp = target.compareTo(this.array[mid]);\n            if (cmp == 0) {\n                return mid;\n            } else if (cmp &lt; 0) {\n                right = mid - 1;\n            } else {\n                left = mid + 1;\n            }\n        }\n        return -1;\n    }\npublic Integer find(T target) {\n        int index = binarySearch(target);\n        return index == -1 ? null : index;\n    }\n<\/code><\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D8%B1%D9%88%D8%B4_%D8%AA%D8%B1%D8%A7%D9%88%D8%B1%D8%B3\"><\/span>\n<p>  \u0631\u0648\u0634 \u062a\u0631\u0627\u0648\u0631\u0633<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>public void traverse(Callback&lt;T&gt; callback) {\n        for (int i = 0; i &lt; this.size; i++) {\n            callback.call(this.array[i]);\n        }\n    }\n<\/code><\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D8%B1%D8%A7%D8%A8%D8%B7_%D9%BE%D8%A7%D8%B3%D8%AE_%D8%A8%D9%87_%D8%AA%D9%85%D8%A7%D8%B3\"><\/span>\n<p>  \u0631\u0627\u0628\u0637 \u067e\u0627\u0633\u062e \u0628\u0647 \u062a\u0645\u0627\u0633<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>public interface Callback&lt;T&gt; {\n        void call(T item);\n    }\n<\/code><\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%A7%D8%B2_%D9%88%D8%A7%D8%B3%D8%B7_%D8%A8%D8%B1%DA%AF%D8%B4%D8%AA_%D8%A8%D9%87_%D8%AA%D9%85%D8%A7%D8%B3_%D8%AF%D8%B1_%D9%BE%DB%8C%D9%85%D8%A7%DB%8C%D8%B4\"><\/span>\n<p>  \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0648\u0627\u0633\u0637 \u0628\u0631\u06af\u0634\u062a \u0628\u0647 \u062a\u0645\u0627\u0633 \u062f\u0631 \u067e\u06cc\u0645\u0627\u06cc\u0634<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>public class UppercaseCallback implements UnsortedArray.Callback&lt;String&gt; {\n    @Override\n    public void call(String item) {\n        System.out.println(item.toUpperCase());\n    }\n}\n<\/code><\/pre>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A2%D8%B1%D8%A7%DB%8C%D9%87_%D9%85%D8%B1%D8%AA%D8%A8_%D9%86%D8%B4%D8%AF%D9%87\"><\/span>\n<p>  \u0622\u0631\u0627\u06cc\u0647 \u0645\u0631\u062a\u0628 \u0646\u0634\u062f\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u0632 \u0628\u0627\u0644\u0627 \u062a\u0642\u0631\u06cc\u0628\u0627 \u0647\u0645\u06cc\u0646\u0637\u0648\u0631\u0647<br \/>\n\u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647 \u0648 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u0646\u062f\u0647 \u0647\u0627 \u06cc\u06a9\u0633\u0627\u0646 \u0647\u0633\u062a\u0646\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%B1%D9%88%D8%B4_%D8%AF%D8%B1%D8%AC-2\"><\/span>\n<p>  \u0631\u0648\u0634 \u062f\u0631\u062c<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>public void insert(T item) {\n        if (this.size &gt;= this.maxSize) {\n            throw new IllegalStateException(\"The array is already full\");\n        } else {\n            this.self[this.size] = item;\n            this.size++;\n        }\n    }\n<\/code><\/pre>\n<\/div>\n<p>\u0631\u0648\u0634 \u062d\u0630\u0641 \u0646\u06cc\u0632 \u0628\u0647 \u0647\u0645\u06cc\u0646 \u0635\u0648\u0631\u062a \u0627\u0633\u062a<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%B1%D9%88%D8%B4_%D8%AC%D8%B3%D8%AA%D8%AC%D9%88\"><\/span>\n<p>  \u0631\u0648\u0634 \u062c\u0633\u062a\u062c\u0648<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>public Integer find(T target) {\n        for (int i = 0; i &lt; this.size; i++) {\n            if (this.self[i].equals(target)) {\n                return i;\n            }\n        }\n        return null;\n    }\n<\/code><\/pre>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A2%D8%B1%D8%A7%DB%8C%D9%87_%D9%BE%D9%88%DB%8C%D8%A7\"><\/span>\n<p>  \u0622\u0631\u0627\u06cc\u0647 \u067e\u0648\u06cc\u0627<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Dynamic Array \u0645\u0627\u0646\u0646\u062f \u0644\u06cc\u0633\u062a \u0647\u0627 \u06cc\u0627 \u0644\u06cc\u0633\u062a \u0647\u0627\u06cc \u0622\u0631\u0627\u06cc\u0647 \u0647\u0633\u062a\u0646\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D9%82%D8%AF%D8%A7%D8%B1_%D8%AF%D9%87%DB%8C_%D8%A7%D9%88%D9%84%DB%8C%D9%87-3\"><\/span>\n<p>  \u0645\u0642\u062f\u0627\u0631 \u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>public class DynamicArray&lt;T&gt; {\n    private T[] array;\n    private int size;\n    private int capacity;\n\n    @SuppressWarnings(\"unchecked\")\n    public DynamicArray(int initialCapacity) {\n        if (initialCapacity &lt;= 0) {\n            throw new IllegalArgumentException(\"Invalid initial capacity: \" + initialCapacity);\n        }\n        this.capacity = initialCapacity;\n        this.array = (T[]) new Object[initialCapacity];\n        this.size = 0;\n    }\n}\n<\/code><\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D8%B1%D9%88%D8%B4_%D8%AF%D8%B1%D8%AC-3\"><\/span>\n<p>  \u0631\u0648\u0634 \u062f\u0631\u062c<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>private void resize(int newCapacity) {\n        @SuppressWarnings(\"unchecked\")\n        T[] newArray = (T[]) new Object[newCapacity];\n        for (int i = 0; i &lt; size; i++) {\n            newArray[i] = array[i];\n        }\n        array = newArray;\n        capacity = newCapacity;\n    }\n    public void insert(T item) {\n        if (size &gt;= capacity) {\n            resize(2 * capacity);\n        }\n        array[size++] = item;\n    }\n<\/code><\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D8%B1%D9%88%D8%B4_%D8%AD%D8%B0%D9%81-2\"><\/span>\n<p>  \u0631\u0648\u0634 \u062d\u0630\u0641<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>public void delete(T item) {\n        int index = find(item);\n        if (index == -1) {\n            throw new IllegalArgumentException(\"Item not found: \" + item);\n        }\n\n        for (int i = index; i &lt; size - 1; i++) {\n            array[i] = array[i + 1];\n        }\n        array[--size] = null;\n        if (capacity &gt; 1 &amp;&amp; size &lt;= capacity \/ 4) {\n            resize(capacity \/ 2);\n        }\n    }\n<\/code><\/pre>\n<\/div>\n<p>\u0647\u0645\u0647 \u0686\u06cc\u0632 \u062f\u06cc\u06af\u0647 \u0647\u0645\u06cc\u0646\u0637\u0648\u0631\u0647<br \/>\n\u0627\u0645\u06cc\u062f\u0648\u0627\u0631\u0645 \u0627\u06cc\u0646 \u0628\u0647 \u06a9\u0627\u0631 \u0628\u0627 \u0622\u0631\u0627\u06cc\u0647 \u0647\u0627 \u06a9\u0645\u06a9 \u06a9\u0646\u062f. \u0645\u0648\u0641\u0642 \u0628\u0627\u0634\u06cc\u062f!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0622\u0631\u0627\u06cc\u0647 \u0627\u0633\u062a\u0627\u062a\u06cc\u06a9 \u0622\u0631\u0627\u06cc\u0647 \u06cc\u06a9 \u0633\u0627\u062e\u062a\u0627\u0631 \u062f\u0627\u062f\u0647 \u062e\u0637\u06cc \u0627\u0633\u062a \u06a9\u0647 \u062f\u0631 \u0622\u0646 \u0647\u0645\u0647 \u0639\u0646\u0627\u0635\u0631 \u0628\u0647 \u0635\u0648\u0631\u062a \u0645\u062a\u0648\u0627\u0644\u06cc \u0645\u0631\u062a\u0628 \u0634\u062f\u0647 \u0627\u0646\u062f. \u0627\u06cc\u0646 \u0645\u062c\u0645\u0648\u0639\u0647 \u0627\u06cc \u0627\u0632 \u0639\u0646\u0627\u0635\u0631 \u0627\u0633\u062a \u0647\u0645\u0627\u0646 \u0646\u0648\u0639 \u062f\u0627\u062f\u0647 \u0630\u062e\u06cc\u0631\u0647 \u0634\u062f\u0647 \u062f\u0631 \u062d\u0627\u0641\u0638\u0647 \u067e\u06cc\u0648\u0633\u062a\u0647 \u0645\u06a9\u0627\u0646 \u0647\u0627 \u0645\u0642\u062f\u0627\u0631 \u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647 public class Array&lt;T&gt; { private T[] self; private int size; @SuppressWarnings(&#8220;unchecked&#8221;) public Array(int size) { if (size &hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-73074","post","type-post","status-publish","format-standard","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/73074","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=73074"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/73074\/revisions"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=73074"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=73074"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=73074"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}